1


Pythonプログラムで、マウスポインターの下に(おそらく形状の)オーバーレイウィンドウを描画したいのですが、それに続く必要があり(mousemoveで新しい座標を取得するためのコードが既にあります)、他のウィンドウへのクリックを妨げないようにする必要があります。私のターゲットプラットフォームはLinux(KDE)ですが、クロスプラットフォームの方が良いです。たとえば、TkinterやPyQTでそれを行うにはどうすればよいですか?
回答を事前に感謝します
編集:ウィンドウは透明度をサポートする必要があると言うのを忘れました(マウスポインターの周りのアルファブレンド円になります)

4

1 に答える 1

1

PyQtでは、ウィンドウとして表示するQWidgetを作成し、QWidget.setGeometry()を使用して画面上の位置を設定できます。

背景の透明性に関するドキュメントを読むことができます:http: //qt-project.org/doc/qt-4.8/qwidget.html#autoFillBackground-prop

..そしてウィンドウの境界線を取り除くためのこの質問: Qtウィジェットからウィンドウの境界線(最小化、最大化、閉じるボタンを含む)を削除する方法は?

ただし、マウスクリックのキャッチを回避するのは難しい場合があります。最も簡単な解決策は、QWidget.setMaskまたはおそらくQt :: WA_TransparentForMouseEvents(上記の最初のリンクを参照)を使用することかもしれませんが、これはOSのウィンドウマネージャー次第であり、プログラムの制御外であると私は確信しています。考えられる回避策の1つは、インターフェイスをカーソルの周りに並べて表示される個別のウィンドウに分割することです。

于 2012-08-06T23:11:15.170 に答える