Qt GUI von der DLL aus starten (in der DLLStart Funktion)
Ich muss eine Qt-GUI von einer DLL aus startenDLLStart
undDLLStop
. Der normale (.exe) Ansatz lautet wie folgt:
int main(int argc, char *argv[]) {
QApplication a(argc, argv); Dialog w;
w.show();
return a.exec();
}
Das Problem ist die Blockierunga.exec()
anrufen, da in der dllDLLStart
muss sofort zurückkehren (siehe unten). Gibt es eine Problemumgehung dafür? Bemerkung: Die Frage teilt einige Gemeinsamkeiten mit "Hinzufügen einer Qt-GUI zu einer dynamischen Bibliothek ", aber es ist kein genaues Duplikat.
/** start module */
int __stdcall DLLStart(void) {
..
QApplication qaDll(ac, av); Dialog w;
w.show();
qaDll.exec();
return 0; // never reached
}
/** stop module */
void __stdcall DLLStop(void) { }