0

Ubuntu 20.04 で Qt5 PySide2 スクリプトを作成しています。

ウィンドウの下にある他のウィンドウプログラム(Firefox、LibreOfficeなど)が見えるように、ウィンドウの一部、たとえばフレームを透明にしたいと思います。(これが不可能な場合は、ウィンドウ全体が半透明であれば問題ありませんが、その方法は既に知っていますが、いくつかのプッシュボタンやその他のウィジェットを脇に表示して、それらと対話できるようにする必要もあります)。私はこれを行うことができます

Qt.WA_TranslucentBackground

私のアプリケーションが透過的である場合 (一部 (私は大好きです) またはウィンドウ全体 (それは非常に受け入れられます)、解決策が何であれ)、以下のプログラムとやり取りできる必要もあります。私はこれを行うことができます

Qt.WindowTransparentForInput

これら 2 つの機能を組み合わせようとすると、問題が発生します。最初のケースでは、透明なウィンドウが表示されますが、下にあるものと対話できません。2 番目のケースでは、不透明なウィンドウが表示されますが、盲目的ではありますが、その下にあるものと対話できます。

両方の解決策を追加することでそれを見ましたがQt.FramelessWindowHint、ウィンドウを移動できなくなり、ウィンドウを閉じるための x や最小化のための - など、タイトルウィンドウの装飾も保持したいと思います。

私の最終的な目標は、私のプログラムで透明な Qt5 キャンバスに矢印を描くことです。エンド ユーザーは矢印を見て、下の Web ページを見て、その Web ページを操作できます。でも、ブラウザだけでなく、障害のある人やお年寄りにも他のプログラムで視覚補助をしてもらいたいです。これにより、プログラムが他のアプリケーションの上にあることをユーザーが常に確認できるようにする必要があるため、GUI の一部のみを透明にすることをお勧めします (フレームについては既に述べました)。

ありがとう

ここに画像の説明を入力 ここに画像の説明を入力

4

0 に答える 0