From e7aa021770b7545db422a5df9bc825e59333e47a Mon Sep 17 00:00:00 2001 From: "Lv, Qi" Date: Thu, 6 Jul 2023 18:25:54 +0800 Subject: [PATCH] port to Qt6 --- DSView/pv/dialogs/deviceoptions.cpp | 4 ++-- DSView/pv/dock/measuredock.cpp | 6 +++--- DSView/pv/dock/triggerdock.cpp | 4 ++-- DSView/pv/mainwindow.cpp | 11 +++++++---- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/DSView/pv/dialogs/deviceoptions.cpp b/DSView/pv/dialogs/deviceoptions.cpp index 0e2f923e..6277338d 100644 --- a/DSView/pv/dialogs/deviceoptions.cpp +++ b/DSView/pv/dialogs/deviceoptions.cpp @@ -68,7 +68,7 @@ ChannelLabel::ChannelLabel(IChannelCheck *check, QWidget *parent, int chanIndex) lb->setFont(font); int fh = lb->fontMetrics().height(); - int w = lb->fontMetrics().width(lb->text()) + 5; + int w = lb->fontMetrics().horizontalAdvance(lb->text()) + 5; w = w < 30 ? 30 : w; int h = fh + _box->height() + 2; setFixedSize(w, h); @@ -395,7 +395,7 @@ void DeviceOptions::logic_probes(QVBoxLayout &layout) enable_all_probes->setFont(font); disable_all_probes->setFont(font); - int bt_width = enable_all_probes->fontMetrics().width(enable_all_probes->text()) + 20; + int bt_width = enable_all_probes->fontMetrics().horizontalAdvance(enable_all_probes->text()) + 20; enable_all_probes->setMaximumWidth(bt_width); disable_all_probes->setMaximumWidth(bt_width); diff --git a/DSView/pv/dock/measuredock.cpp b/DSView/pv/dock/measuredock.cpp index 016bd99e..4fa44743 100644 --- a/DSView/pv/dock/measuredock.cpp +++ b/DSView/pv/dock/measuredock.cpp @@ -257,7 +257,7 @@ void MeasureDock::build_dist_pannel() int dex = 0; QLabel cal_lb; cal_lb.setFont(font); - int bt_w = cal_lb.fontMetrics().width("22") + 8; + int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8; for (auto &o : _dist_row_list) { @@ -380,7 +380,7 @@ void MeasureDock::build_edge_pannel() int dex = 0; QLabel cal_lb; cal_lb.setFont(font); - int bt_w = cal_lb.fontMetrics().width("22") + 8; + int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8; for (auto &o : _edge_row_list) { @@ -767,7 +767,7 @@ void MeasureDock::cursor_update() QLabel cal_lb; cal_lb.setFont(font); - int bt_w = cal_lb.fontMetrics().width("22") + 8; + int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8; int index = 1; int cursor_dex = 0; diff --git a/DSView/pv/dock/triggerdock.cpp b/DSView/pv/dock/triggerdock.cpp index 6a9b29c1..0e045c6a 100644 --- a/DSView/pv/dock/triggerdock.cpp +++ b/DSView/pv/dock/triggerdock.cpp @@ -35,8 +35,8 @@ #include #include #include -#include -#include +#include +#include #include "../config/appconfig.h" #include "../deviceagent.h" #include "../view/logicsignal.h" diff --git a/DSView/pv/mainwindow.cpp b/DSView/pv/mainwindow.cpp index 5a8b7aa2..5cfe2a9d 100644 --- a/DSView/pv/mainwindow.cpp +++ b/DSView/pv/mainwindow.cpp @@ -44,7 +44,7 @@ #include #include -#include +//#include #include "mainwindow.h" @@ -537,12 +537,15 @@ namespace pv (void)x; (void)y; - QDesktopWidget *desktop = QApplication::desktop(); - int curMonitor = desktop->screenNumber(this); + //QDesktopWidget *desktop = QApplication::desktop(); + //int curMonitor = desktop->screenNumber(this); + QScreen *currentScreen = this->window()->screen(); + QList screens = QGuiApplication::screens(); + int curMonitor = screens.indexOf(currentScreen); #ifdef _WIN32 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - QPixmap pixmap = QGuiApplication::primaryScreen()->grabWindow(desktop->winId(), x, y, w, h); + QPixmap pixmap = QGuiApplication::primaryScreen()->grabWindow(QApplication::desktop->winId(), x, y, w, h); #else QPixmap pixmap = QPixmap::grabWidget(parentWidget()); #endif