Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Nia от Январь 10, 2006, 15:06



Название: Прозрачные окна в QT
Отправлено: Nia от Январь 10, 2006, 15:06
Привет.
Не подскажете как сделать прозрачные диалоговые окна в QT?
Цель - сделать информационный диалог окно, но так чтобы он не закрывал основное изображение.

Спасибо.


Название: Прозрачные окна в QT
Отправлено: yshurik от Январь 10, 2006, 15:41
Qt 410
Делал с "плавающими" виджетами которым parent был mainWndow - они рисовались поверх него и с полупрозрачностью было ок в windows и x11. (конечно геометрически внутри mainWindow)

Код:


QWidget * dialog = new QWidget( mainWindow );

{
    QPalette p = dialog->palette();

    p.setBrush( dialog->backgroundRole(), QBrush(QColor(255, 255, 255, 128)) );

    dialog->setAutoFillBackground(true);
    dialog->setPalette( p );
}

dialog->move( ...
dialog->resize( ...



кстати в paintEvent тогда этого видгета можно рисовать (drawPixmap) полупрозрачные pixmaps - они будут накладываться правильно на нижние widgets


Название: Прозрачные окна в QT
Отправлено: Nia от Январь 10, 2006, 16:04
Спасибо сейчас попробуем