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

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

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

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

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

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

 Jorge Leitão27 мая 2012 г., 16:35
png, я уверен, что у него есть альфа-канал
 Mat27 мая 2012 г., 17:12
Покажите, пожалуйстака вы создаете этот «фоновый» виджет,ка вы устанавливаете его границу, как вы создаете свою метку и как вы «вставляете» ее в этот фоновый виджет. Все дело в деталях, у меня нет проблем с прозрачными QImages в QLabels.
 Mat27 мая 2012 г., 16:36
Можете ли вы показать минимальный пример, который воспроизводит вашу проблему?
 Mat27 мая 2012 г., 15:39
Не уверен, что это имеет значение, но какой тип изображения вы используете (png, jpeg,?)?
 Jorge Leitão27 мая 2012 г., 17:19
(извините за комментарий, который я нажал, введите ввод в новую строку, и он разместил его. При выполнении минимального примера, я думаю, я нашел проблему. Итак, я стилизовал корень QWidget (тот, что на вершине дерева) и, по-видимому, корневой виджет не получает таблицу стилей. Если я поместил на него QFrame, он уже получает. Возможно ли это?

Ответы на вопрос(1)

С помощьюQWidget::setAttribute() а такжеQt :: WidgetAttribute ...

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

Вместе с изучениемWindow Flags Example должно сильно помочь.

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

Вот идеальный пример:

QSplashScreen Замена

Ваш ответ на вопрос