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

2024-04-26 03:53:47 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我正在开发一个PyQt5应用程序,它在屏幕的某个地方放置一个未加框架的窗口,靠近触发窗口的show事件的系统托盘图标。在

代码中的逻辑不是很聪明,但似乎起到了作用:

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

一个用户抱怨说这个窗口出现在屏幕之外,而在我的桌面上,它不会超过屏幕边界,即使我将代码修补为硬编码作为move参数的巨大数字。我认为这可能是因为我们使用不同的桌面环境(我使用Mate,他使用Gnome),但是在测试时,我确实观察到了他描述的行为。我就是不能复制它。在

另外,互联网上的一些人使用move(-50000, -50000)将窗口暂时隐藏起来,方法是将其关闭(例如here)。在

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


Tags: 代码posself框架应用程序move屏幕show