Прозрачный QLabel с растровым изображением

У меня есть QLabel, и я положил на него изображение с помощью setpixmap(). Это изображение имеет альфа-канал.

QLabel находится на QWidget, у которого есть изображение границы, заданное изображением (так, чтобы изображение масштабировалось, чтобы заполнить QWidget).

На прозрачных частях QLabel результатом является не изображение, указанное в QWidget, а характеристика серого цвета для виджета "без цвета".

Мой вопрос: как мне сделать это таким образом, чтобы прозрачная часть QLabel показывала изображение границы QWidget?

Я попытался отменить фон автозаполнения, изменив цвет фона QLabel на белый прозрачный, но ничего не помогло.

1 ответ

Вам необходимо установить атрибуты виджета и флаги окна соответствующим образом:

С помощью QWidget::setAttribute() и Qt:: WidgetAttribute...

Qt::WA_TranslucentBackground должен быть установлен в true.

Наряду с изучением Пример оконных флагов должен сильно помочь.

Если вы просто ищете один виджет, который рисует безрамное изображение...

Вот прекрасный пример:

Замена QSplashScreen

Другие вопросы по тегам