質問
私は私の窓の背景を透明にしてみてください。しかし、上にあるウィジェットの下で、私は私のデスクトップ画像の部分を参照してください。 今私は、コンストラクタでこれを持っています:
self.setFocusPolicy(Qt.StrongFocus) self.setAttribute(Qt.WA_QuitOnClose,True) self.setBackgroundRole(QtGui.QPalette.Base) self.setAttribute(Qt.WA_NoSystemBackground)
解決
また、GSの答えに、このFAQは、(Qtの4.5の前に)あなたがこれを達成することができない理由を説明します
部分には直接のサポートはありません ウィンドウがあり、透明性、 透明とその上にウィジェットです ないのQtインチ
のPyQtの最新バージョンは、Qtの4.4に対して作成された、覚えておいてください、とあなたが望む半透明のウィンドウをサポートしていません。あなたは透明以外に、あなたのメインウィンドウの背景色を設定した場合setAutoFillBackground(真)について、GSの他の答えは、働くだろう。
また、Qt.WA_NoSystemBackgroundのマニュアルを参照してください、それはあなたがこれまで持っていた透明効果に依存することはできませんと言います:
ウィジェットがノーを持っていることを示します 背景、すなわち、場合ウィジェット ペイントイベントを受け取り、背景 自動的に再描画されません。注意: WA_OpaquePaintEventとは異なり、新たに 露光された領域は、で満たされることはありません 表示した後、バックグラウンド(例えば、 ユーザーができる初めての窓 アプリケーションまで、「通過」を参照してください。 )ペイントイベントを処理します。これは セット/ウィジェットの作者でクリアます。
他のヒント
私はちょうどこののを見つけました:
作成する半透明のWindows
Qtの4.5ので、それができるようになりました 半透明でウィンドウを作成 サポートするウィンドウシステム上の領域 合成ます。
トップレベルでこの機能を有効にするには ウィジェットは、そのセット Qtの:: WA_TranslucentBackground属性 setAttribute(と)との点を確認 その背景にはで描かれています 地域における非不透明色あなた 部分的に透明になりたい。
PyQtは多分それが問題で、まだ4.4 Qtのです。
あなたのウィジェットのためにこれを試してください:
widget.setAutoFillBackground(True)
私はあなたにもQtのデザイナでそれを設定することができると思います。