2

QLabel があり、setpixmap() を使用して画像を配置します。その画像にはアルファチャンネルがあります。

QLabel は、画像によって指定された境界画像を持つ QWidget 上にあります (画像が QWidget を満たすように再スケーリングされるように)。

QLabel の透明な部分では、結果は QWidget で指定された画像ではなく、「色なし」ウィジェットの灰色の色の特徴です。

私の質問は、QLabel の透明部分が QWidget の境界イメージを表示するようにするにはどうすればよいですか?

autofillbackground をキャンセルして、QLabel の背景色を白透明に変更しようとしましたが、何も役に立ちませんでした。

4

1 に答える 1

0

ウィジェット属性とウィンドウ フラグを適切に設定する必要があります。

QWidget::setAttribute()Qt::WidgetAttributeを使用して...

Qt::WA_TranslucentBackgroundtrue に設定する必要があります。

Window Flags Exampleを学ぶことに加えて、大いに役立つはずです。

フレームレスの画像を描画する単一のウィジェットを探しているだけなら...

これが完璧な例です:

QSplashScreen の交換

于 2012-06-13T05:44:53.557 に答える