2012-08-06 139 views
0


在Python程序中,我想在鼠標指針下繪製一個(可能是形狀的)覆蓋窗口,它應該跟着它(我已經有了代碼來獲取它在mousemove上的新座標),並且不得干涉點擊其他窗口。我的目標平臺是Linux(KDE),但如果它是跨平臺的話,那就更好了。我如何做到這一點,例如用Tkinter或PyQT?
在此先感謝您的答案
編輯:我忘了說,這個窗口應該支持透明(這將是鼠標指針周圍的alpha混合圓)Python覆蓋窗口

+0

不是真的關於python的問題,更多關於Qt或者一般的UI編程 – WindowsMaker 2012-08-06 22:54:51

回答

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(請參閱上面的第一個鏈接),但我在某種程度上認爲這取決於操作系統的窗口管理器,並且不受程序的控制。一種可能的解決方法可能是將界面分解爲單獨的窗口,並將其分散在光標周圍。

+0

但是我需要在我的覆蓋窗口下「轉移」點擊,就好像它不存在一樣...... – 2012-08-06 23:20:19

+0

現在這很棘手。看到我更新的答案。 – Luke 2012-08-07 01:58:28

+0

我會嘗試,但我對PyQt很新... – 2012-08-07 08:46:49