1

メインウィンドウのみに背景を与え、他のすべてのウィジェットは背景なしで使用されるアプリを構築していますが、アプリを実行すると、100% 透明ではなく、やや半透明になります。それらを 100 にする方法はありますか? % 透明で、背景のヒントなしで前景のみが表示されるようにします。

ここに画像の説明を入力

4

1 に答える 1

0

現時点で透明性を得るために使用しているコードを投稿していただけますか? 「半透明の何かが得られる」と言うなら、あなたが本当に望んでいるものではないツールウィンドウを作成したと思います。

本当に透明なメイン ウィンドウは、タイトル バーを削除し (QWidget コンストラクター Qt::FramelessWindowHint を 2 番目のパラメーター - WindowFlags として指定)、透明にする必要があるウィジェット内のすべてを珍しい色 (255,0,255 など) で描画してから実現できます。それを切り落とします。

QWidget の一部を切り取る非常に原始的な例:

QBitmap b(100, 100);
b.fill(Qt::black);
setMask(b);

QBitmap は、表示されるピクセルでは黒く、そうでないピクセルでは白くする必要があります。この例では、0,0 から始まる 100,100 の領域だけが表示され、ウィンドウの残りの部分は非表示になります。

于 2012-04-24T13:59:24.947 に答える