Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: QCasper от Ноября 08, 2005, 01:17



Название: виджет с прозрачным фоном
Отправлено: QCasper от Ноября 08, 2005, 01:17
Помогите сделать виджет с прозрачным бэкграундом, типа:

Код:
MyWidg::MyWidg(QWidget *parent):QWidget(parent){
setBackgroundRole(QPalette::Dark);
}


только вместо дарка, сами понимаете, должно все прозрачно быть[/code]


Название: виджет с прозрачным фоном
Отправлено: ElderOrb от Ноября 08, 2005, 19:52
Нужно установить палитру для background-а с кистью Qt::NoBrush


Название: виджет с прозрачным фоном
Отправлено: QCasper от Ноября 08, 2005, 22:16
Цитата: "ElderOrb"
Нужно установить палитру для background-а с кистью Qt::NoBrush


Будьте любезны, для водителя бронепоезда по-подробнее, что именно нужно сделать? Hа уровне кода желательно :)


Название: виджет с прозрачным фоном
Отправлено: ElderOrb от Ноября 08, 2005, 23:08
К примеру так:

QPalette p = widget.palette();
p.setBrush(QPalette::Background, Qt::NoBrush);
widget.setPalette(p);


Название: виджет с прозрачным фоном
Отправлено: QCasper от Ноября 10, 2005, 01:28
Цитата: "ElderOrb"
К примеру так:

QPalette p = widget.palette();
p.setBrush(QPalette::Background, Qt::NoBrush);
widget.setPalette(p);


Не прокатило, виджет, который под ним не видно


Название: виджет с прозрачным фоном
Отправлено: ElderOrb от Ноября 10, 2005, 10:15
Я пытался таким образом отобразить сетку под QScrollArea. Сетка-то показывалась, да в левом верхнем углу всегда оставалась небольшая зона непрозрачности (баг в Qt?). Проверить так-ли это можно задав прозрачному виджэту какой-нибудь побольше minimumSize.