Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: izoomer от Февраль 02, 2007, 23:04



Название: прозрачность QDialog не работает
Отправлено: izoomer от Февраль 02, 2007, 23:04
[QT-4.2. Linux]
есть класс JEplorer cjplfyysq от QDialog. Делаю прозрачным этот диалог так ...
Код:

explorer = new JExplorer(this);
explorer->setGeometry(300,250,200,100);
explorer->setAutoFillBackground ( true );
QPalette _paleteExplorer = explorer->palette();
_paleteExplorer.setBrush(QPalette::Base, Qt::transparent);
explorer->setPalette( _paleteExplorer );

не работает ... установка Palete в прозрачность работает с другими виджетами ... но не работает с QDialog почему то ... что не так делаю ?.. подскажите .


Название: прозрачность QDialog не работает
Отправлено: goer от Февраль 04, 2007, 00:32
Может стоит сделать виджет прозрачным другим способом? Вот в асистенте есть такое:

Цитировать

windowOpacity : double

This property holds the level of opacity for the window.
The valid range of opacity is from 1.0 (completely opaque) to 0.0 (completely transparent).
By default the value of this property is 1.0.
This feature is available on Mac OS X, X11 platforms that support the Composite extension, and Windows 2000 and later.
Note that under X11 you need to have a composite manager running, and the X11 specific _NET_WM_WINDOW_OPACITY atom needs to be supported by the window manager you are using.

Access functions:
qreal windowOpacity () const
void setWindowOpacity ( qreal level )



Функции относятся к классу QWidget