Python覆盖窗口

时间:2012-08-06 22:32:10

标签: python linux overlay mousemove


在Python程序中,我想在鼠标指针下面绘制一个(可能是整形的)叠加窗口,它应该跟随它(我已经有代码在mousemove上获取它的新坐标)并且不得干扰其他窗口的点击。我的目标平台是Linux(KDE),但如果它是跨平台的,那就更好了。我怎么能这样做,例如使用Tkinter或PyQT? 在此先感谢您的答案 编辑:我忘了说窗口应该支持透明度(它将是鼠标指针周围的alpha混合圈)

1 个答案:

答案 0 :(得分:0)

在PyQt中,您可以创建任何QWidget以显示为窗口并使用QWidget.setGeometry()在屏幕上设置其位置。

您可以阅读有关背景透明度的文档: http://qt-project.org/doc/qt-4.8/qwidget.html#autoFillBackground-prop

..和这个问题摆脱窗口边界: How to remove the window border (containing minimize, maximize and close buttons) from a Qt widget?

但是,为了避免点击鼠标,可能会很困难。 最简单的解决方案可能是使用QWidget.setMask或者Qt :: WA_TransparentForMouseEvents(参见上面的第一个链接),但我在某种程度上打赌这取决于操作系统的窗口管理器并且不受程序的控制。一种可能的解决方法可能是将您的界面分解为在光标周围平铺的单独窗口。