No redraw application when close dialog on Android
-
I created QMainWindow and call QDialog::show(). The QDialog shows in non fullscreen mode, and when i close the dialog, application didn't redraw. Why? How can I fix it?
-
I do not have the answer but I have similar problems and posted a question myself:
http://qt-project.org/forums/viewthread/29854/Did you found some answer?
Seems there are serious refresh problems, I'm using Qt 5.1 and tryied on simulator with Android 4.2 and on an Android 4.0.4 Physical device...the same!
-
I didn't find the answer.
But i got display dimensions, and set it to dialog widget manually. -
Searching for some Android tips in the Qt docs I've found the following consideration. But they seems for OpenGL, I use only QWidget.
In my QWidget application, a simple QMessageBox with an "OK" button ( It's parent is the QMainWindows) is shown partially and when the ok button is clicked (touched, guessing the point where it is) it remain partially drawn over the QMainWindows.
At any time, if the android "home" button is pressed and you go back to the application, all is redrawn correct.
...and I don't know how to trigger this correct refresh without minimize the application. :-(
Qt for Android provides two separate platform plugins: One which is suited for traditional widget-based apps that do not require OpenGL support, and one which will be used when OpenGL is required. When building and deploying your app, Qt Creator will detect whether the OpenGL-enabled plugin is required by checking if your app depends on either the Qt OpenGL module or the Qt Quick module.
There are some special considerations to be made when the OpenGL-enabled platform plugin is in use. The plugin only supports full screen top-level windows. This means that even dialogs and popups will be shown as full screen. There may also be drawing errors if you try to stack windows that have animations or otherwise require updating their UI while they are obscured by another window.
It is recommended that you try to avoid multiple top-level windows in the case of Android apps, as there is no traditional window system on this platform.