Как мне создать прозрачное окно в Qt для Linux.Я попробовал следующее, но это не работает:
myWidget::myWidget(QWidget *parent) : QWidget(parent, Qt::FramelessWindowHint) { setWindowOpacity(0.4); }
"Обратите внимание, что в X11 должен быть запущен составной менеджер, а используемый в X11 атом _NET_WM_WINDOW_OPACITY должен поддерживаться используемым вами оконным менеджером."
http://doc.qt.nokia.com/4.7/qwidget.html#windowOpacity-prop
Какой оконный менеджер вы используете?http://en.wikipedia.org/wiki/Compositing_window_manager#List_of_compositing_window_managers
Поддерживает ли ваш сервер «Составное расширение»?http://en.wikipedia.org/wiki/Composite_(graphics)
Поддерживает ли это ваша карта?
У меня была похожая проблема, но на Windows, не уверен, поможет ли это в Linux Вместо Qt :: FramelessWindowHint используйте Qt :: SplashScreen. У меня могут быть прозрачные окна без рамок поверх других моих виджетов.
Попробуйте использовать QGraphicsOpacityEffect и QWidget :: setGraphicsEffect