Hi Jorgen, Thanks for your reply :)
Yes! It has to setWindowFlags(Qt::BypassWindowManagerHint | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint) for Qt5 to act like the DOCK https://github.com/xiangzhai/qtpanel/blob/master/panelwindow.cpp#L143 And there is NO x11EventFilter for Qt5 any more, so I use MyXcbEventFilter based on QAbstractNativeEventFilter to handle xcb_generic_event_t* event https://github.com/xiangzhai/qtpanel/blob/master/x11support.cpp#L37 Perhaps it is easy to migrate to Qt5 towards general applications such as WEB BROWSER https://github.com/xiangzhai/youaremyeyes/tree/master/src/browser only need to change some APIs and header files depend on different QT_VERSION. BUT it is not easy for special ones, for example, WINDOW MANAGER https://github.com/xiangzhai/eggwm DESKTOP ENVIROMENT https://github.com/xiangzhai/qtpanel it needs to be familiar with some relative libraries ... sort of thing Happy International Labour Day! Thanks for your reply again :) Regards, Leslie Zhai <[email protected]> > Hi > 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: > https://codereview.qt-project.org/#change,84484 > > Jørgen > _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
