diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index cc75e522f..98dc3e87d 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -773,6 +773,9 @@ void MultiScreenWorker::onRequestUpdatePosition(const Position &fromPos, const P void MultiScreenWorker::onRequestUpdateMonitorInfo() { + // 只需要在屏幕信息变化的时候更新,其他时间不需要更新 + onRequestUpdateRegionMonitor(); + m_monitorUpdateTimer->start(); } @@ -880,9 +883,9 @@ void MultiScreenWorker::initConnection() // 更新所在屏幕 resetDockScreen(); // 通知后端 - emit requestUpdateFrontendGeometry(); + onRequestUpdateFrontendGeometry(); // 通知窗管 - emit requestNotifyWindowManager(); + onRequestNotifyWindowManager(); }); } diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index e608853ca..c743bba5d 100755 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -344,6 +344,7 @@ void MainWindow::initConnections() // -拖拽任务栏改变高度或宽度------------------------------------------------------------------------------- connect(m_updateDragAreaTimer, &QTimer::timeout, this, &MainWindow::resetDragWindow); + //TODO 后端考虑删除这块,目前还不能删除,调整任务栏高度的时候,任务栏外部区域有变化 connect(m_updateDragAreaTimer, &QTimer::timeout, m_multiScreenWorker, &MultiScreenWorker::onRequestUpdateRegionMonitor); connect(m_dragWidget, &DragWidget::dragPointOffset, this, [ = ] { qApp->setProperty(DRAG_STATE_PROP, true); });