Як зробити QLabel фоном напівпрозорим?

Я створив QLabel * msgLbl . Як зробити фонове зображення msgLbl напівпрозорим?

9

1 Відповіді

Найпростіший спосіб - називати setStylesheet() . Якщо ви використовуєте Qt Designer, ви також можете встановити таблицю стилів у вікні дизайнера (перегляньте панель властивостей праворуч).

Ви хочете встановити атрибут background-color , тому щось подібне

msgLbl->setStyleSheet("background-color: rgba(255, 255, 255, 10);");

буде найпростішим способом зробити те, що ви описуєте.

Сказавши це, ви також можете подумати про наслідування таблиць стилів. Наприклад, ви можете встановити background-color для ряду QLabel s, усіх дітей батьківського віджета. Ви можете це зробити, використовуючи селектори стилів CSS у таблиці стилів, встановленого на батьківському віджеті (читайте цей для отримання додаткової інформації).

27
додано
@sjwarner Навіть, коли я використовую (255, 255, 255, 0) , я все ще можу бачити поле мітки, протиставлене моєму фоновому знімку ... Як це вирішити?
додано Автор the_prole, джерело
@Shyam Якщо ця відповідь була корисною для вас, ви можете проголосувати та/або прийняти її. Див цю частину FAQ , щоб дізнатись більше.
додано Автор alexisdm, джерело
Указаний вище код повинен зробити так: зверніть увагу, що встановлюється background-color , використовуючи rgba. A означає альфа, тобто прозорість. Значення альфа 255 абсолютно непрозоре, а альфа 0 абсолютно прозора, тому rgba (255, 255, 255, 10) дуже прозорий білий.
додано Автор sjwarner, джерело
@the_prole: Це досить старе питання зараз. Краще детально описати середовище та код, щоб відтворити проблему вашої на новому питанні, я думаю.
додано Автор sjwarner, джерело
Дякую за відповідь! Але я хочу, щоб фон був напівпрозорим.
додано Автор Shyam, джерело
Дякую! Тепер я змінив на "фоновий колір: rgba (182,159,64,230)" і працює добре !!
додано Автор Shyam, джерело