問題タブ [qframe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt - WA_TranslucentBackground を使用せずに Windows で完全に透明なウィンドウを描画する
QLabel
透明なウィンドウ (またはQFrame
またはQWidget
)を描画する必要がありますが、 を使用しませんWA_TranslucentBackground
。その理由は、ウィンドウには OpenGL を介してレンダリングされた他の子ウィジェットが含まれ、そのプロパティを使用すると、ここに記載されているように、それらのウィンドウが Windows で非表示になるためです。これは Mac では正常に機能しますが、Windows では機能しないため、Windows でのみ別のソリューションが必要です。私はこれを試しました:空白を設定しますpixmap
。ただし、灰色の背景で表示されます。
Windowsでこれを実現する他の手段、つまり完全に透明なウィンドウを提案できる人はいますか? プラットフォーム - Qt 5.3.1、32 ビット。
PS - 半透明のウィンドウのように動作する必要はありません。つまり、レンダリングされたウィジェットの透明な部分を通して背景をクリックできる場合ですWA_TranslucentBackground
。ここでは、透明である限り問題ありません。クリック可能である必要はありません。
c++ - Qt で UI オブジェクトに親を追加する
Designer タブの UI に QWebView オブジェクトがあり、QFrame になる親を彼に追加したいのですが、これを行う理由は、QWebView で境界 QSS プロパティを使用できないためです。
qt - QHeaderView から水平方向の境界線を削除する方法
私は水平方向のheaderViewを持つQTableViewオブジェクトを持っています(垂直方向は隠しています)。qtableView からグリッドを削除するように setShowGrid(false) を設定しましたが、QTableView とその水平ヘッダーの間の区切り線を削除するにはどうすればよいですか。私は試した:
しかし、成功しませんでした。ありがとうございました
qt - スタイルシートの独自のウィジェットを有効にする
スタイルシート用に独自のウィジェット クラスを有効にしたいのですが、これは ではなく、 qsssetStyleSheet(qss)
スタイルシートのセレクターです。名前空間の "::" を "--"に置き換える必要があることは理解されています。
ここ (カスタム ウィジェットの Qt スタイルシート) 同様の質問を見つけましたが、それは 4 年以上前のものです。答えに基づいて、いくつかの詳細な質問があります。
a) https://stackoverflow.com/a/8817908/356726から、オーバーライドされた公開されたアプローチはpaintEvent
まだ有効ですか(Qt5.6/5.7)
b) 同じスレッド ( https://stackoverflow.com/a/22094319/356726 ) で、オーバーライドする必要はないと言われていますpaintEvent
。わかりました、私に導きます:b1)paintEvent
とにかくオーバーライドするのは有害QFrame
ですか?b2) 他の基本クラスとは何QTableView
ですか? QFrame
この特定の役割を持つ理由は何ですか?
c)そのトピックに関する公式の Qt ドキュメントを見つけた人はいますか? a の素敵なコードですが、それはどこから来たのですか? (ここ) 正直なところ、私はそれが何をするのか理解していません。
- 編集 -
paintEvent
ダニエルは、その魔法のスニペットのソースをここ(QWidget
段落)で指摘しています。同じ( 「サポートのみ..」)が に対して言われているのは興味深いことです。QDialog
これは、そこでもスニペットを使用する必要があることを意味する可能性があります。デフォルトでそのスニペットをpaintEvent
ofに追加しない理由がわかりません。QWidget