Qt5 + QDockWidget + Widget OpenGL
-
Hi, I work with an 3D Engine, I plug the 3D rendering inside a QWidget.
The application contains two ToolBar (top and bottom) and many DockWidget.
The 3D Widget is add to the QMainWindow.
This part work perfectly with Qt 4.8.I try to use Qt 5.1, but unfortunately, I have some trouble, after create all the interface, the QDockWidget and QToolBar are not responding, except for the bottom toolbar. I try something, if i put all the toolbar at the bottom and put the QDockWidget to the right or floating, the widget works.
I m working on OSX 10.8.4 with Qt 5.1
Thanks
Tony
-
I too have had a lot of problems with QDockWidget on OS X while porting http://www.shotcut.org/ to Qt 5.1.1. I am using a QGLWidget in the center, but while troubleshooting, I believe I disabled that and still had problems. The top, left of the window becomes unresponsive to the mouse. Eventually, I found that things kind of worked if I do not hide the dockwidgets, especially upon launch. Also, I found floating a dockwidget makes the floating window blank! Even when I disabled floating and moving, I was able to trick the UI into letting me float the dock! I spent a lot of time turning off big chunks of code to narrow down the source of - what I was sure of is - my problem. But now I have given up, and I scrapped all of my dockwidgets (some forthcoming version). I ended up just using a couple of QSplitters to make a side- and bottom-bar UI design into which I have placed all of the dockwidget contents, each with a heading and close button. At least I know if I choose to move all of the UI to QML, then it will port easier as a sidebar design instead of dockwidget one. :o)
-
I did some searching on the bug tracker, and I found a few tickets with quite a few duplicates of each around the same issues (and around using winId(), which is what my app was doing when not using the QGLWidget). A couple of them have "app->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);" as a workaround - or partially so. I just reset my git branch back to where I still used QDockWidget, added that in my main.cpp before any UI is constructed, and it has made a huge improvement. Now, I need to do more testing to ensure it is stable, but according to the docs, you may be able to resolve some problems by applying Qt::WA_NativeWindow to some specific widgets where needed.