QMainWindow.move()是否将窗口位置绑定到屏幕?

时间:2018-07-02 22:15:19

标签: python qt5 pyqt5

QMainWindow.move()是否将主窗口的位置绑定到屏幕?

我正在开发一个PyQt5应用程序,该应用程序将无框窗口放置在屏幕上的某个位置,靠近触发该窗口显示事件的系统任务栏图标。

代码中的逻辑不是很聪明,但似乎可以解决问题:

    systray_icon_pos = self.status_icon.geometry().center()
    self.move(systray_icon_pos.x() - self.width() / 2,
              systray_icon_pos.y())

用户抱怨该窗口显示在屏幕外,而在我的桌面上,该窗口不会超出屏幕边界,即使我修补该代码以将大量数字作为move参数进行硬编码也是如此。我以为是因为我们使用的是不同的桌面环境(我使用Mate,他使用Gnome),但是在测试时,我确实观察到了他描述的行为。我只是无法复制它。

此外,Internet上的某些人还使用move(-50000, -50000)通过将其置于屏幕之外来暂时隐藏窗口(例如here)。

我在the docs中找不到任何明确提及。

0 个答案:

没有答案