python - QMainWindow.move() 是否将窗口位置绑定到屏幕?
问题描述
是否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),但在测试时,我确实观察到了他描述的行为。我只是无法重现它。
此外,互联网上的一些人使用move(-50000, -50000)
通过将其置于屏幕外来临时隐藏窗口(这里是一个示例)。
我在docs中没有明确提及这一点。
解决方案
推荐阅读
- python - 混合 2 个 BGRA 帧 OpenCV - 必须在函数 'arithm_op 中明确指定输出数组类型
- android - 如何使用 android 中的 http 上传任何文件图像、视频、pdf 等?
- mlp - 预测其他特征时 MLP 准确率下降
- python - 在 3D Matplotlib 中启用所有轴
- text-to-speech - 将 Microsoft 属性与 Google TTS 结合使用
- php - 登录时phpmyadmin 504超时
- python - 如何在 Python 中查找列表首先出现故障的位置
- python-3.x - 无法为 Python 安装 pipx 或 Brownie
- c - c语言中使用函数和结构的复数计算器
- excel - 如何在 vba 中读取这个复杂的 .xml?.SelectNodes() 的问题