在一个 Python 程序中,我想在鼠标指针下绘制一个(可能是形状的)覆盖窗口,它应该跟随它(我已经有代码在 mousemove 上获取它的新坐标)并且不能干扰对其他窗口的点击。我的目标平台是 Linux (KDE),但如果它是跨平台的,那就更好了。我该怎么做,例如使用 Tkinter 或 PyQT?
提前感谢您的回答
编辑:我忘了说窗口应该支持透明度(它将是鼠标指针周围的 alpha 混合圆圈)
问问题
2887 次
1 回答
1
在 PyQt 中,您可以创建任何 QWidget 以显示为窗口并使用 QWidget.setGeometry() 设置其在屏幕上的位置。
您可以阅读有关背景透明度的文档:http: //qt-project.org/doc/qt-4.8/qwidget.html#autoFillBackground-prop
..以及摆脱窗口边框的问题: 如何从 Qt 小部件中删除窗口边框(包含最小化、最大化和关闭按钮)?
但是,要避免捕获鼠标点击可能很困难。最简单的解决方案可能是使用 QWidget.setMask 或 Qt::WA_TransparentForMouseEvents (请参阅上面的第一个链接),但我敢打赌,这在某种程度上取决于操作系统的窗口管理器,并且不受您的程序的控制。一种可能的解决方法可能是将您的界面分解为围绕光标平铺的单独窗口。
于 2012-08-06T23:11:15.170 回答