[Development] NO effect setAttribute(Qt::WA_X11NetWmWindowTypeDock, true) for Qt5?

Jorgen Lind jorgen.lind at digia.com
Fri May 2 12:18:47 CEST 2014

On Wednesday 30 April 2014 10:32:15 Leslie Zhai wrote:
> Hi Qt developers,
> I migrated qtpanel from Qt4 to Qt5
> but setAttribute(Qt::WA_X11NetWmWindowTypeDock, true) has NO effect for
> Qt5 https://github.com/xiangzhai/qtpanel/blob/master/panelwindow.cpp#L138
> qtpanel-qt4 snapshot
> https://www.dropbox.com/s/nwebtd03fy4sght/qtpanel-qt4.png
> BUT qtpanel-qt5 https://www.dropbox.com/s/dxt7z5ya26fr6ss/qtpanel-qt5.png
> I need to setWindowFlags(Qt::FramelessWindowHint |
> Qt::CustomizeWindowHint) to act like a dock for Qt5? but there is no
> need for Qt4.
> Please someone give me some advice, thanks a lot!
The top level widget uses a QWindow in Qt 5. Because of the platform 
abstraction layer (QWindow and QPlatformWindow), the platform dependent widget 
attributes often doesn't have an effect in Qt 5.

I have had a couple of stabs on solving this, but it has led to a big fat 
nothing so far. However, your mail just show yet another example for the need 
for a "pattern" to solve this.

The other day Laszlo got a patch integrated which adds a new module called 
QtPlatformHeaders which (as the name implies) should only contain headers and 
no library.

So I desided to use the new module and have another stab at adding an api for 
setting platform specific properties in change:


More information about the Development mailing list