WidgetsAskUserActionHandler: make sure all dialogs are created in the main thread
In Qt, the GUI runs in its own thread and must be accessed from the main thread. If QWidget is created in a non-main thread, we can use the QMetaObject::invokeMethod() method to create it in the main thread.
Edited by Fushan Wen