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

2

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

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

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

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

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

Можете ли вы показать минимальный пример, который воспроизводит вашу проблему? Mat
Не уверен, что это имеет значение, но какой тип изображения вы используете (png, jpeg,?)? Mat
Покажите, пожалуйстака вы создаете этот «фоновый» виджет,ка вы устанавливаете его границу, как вы создаете свою метку и как вы «вставляете» ее в этот фоновый виджет. Все дело в деталях, у меня нет проблем с прозрачными QImages в QLabels. Mat
(извините за комментарий, который я нажал, введите ввод в новую строку, и он разместил его. При выполнении минимального примера, я думаю, я нашел проблему. Итак, я стилизовал корень QWidget (тот, что на вершине дерева) и, по-видимому, корневой виджет не получает таблицу стилей. Если я поместил на него QFrame, он уже получает. Возможно ли это? Jorge Leitão
png, я уверен, что у него есть альфа-канал Jorge Leitão

Ваш Ответ

1   ответ
0

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

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

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

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

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

QSplashScreen Замена

Похожие вопросы