QApplication In Non-Main Thread

前端 未结 6 604
旧时难觅i
旧时难觅i 2020-12-05 08:18

I need to exec() a QApplication in a thread that is not main (my GUIs must be plugins that can be dynamically loaded and unloaded at runtime, so I have no access to the main

6条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-05 09:04

    Adding my 2 cents with a fancy lambda and C++ threads:

    #include "mainwindow.h"
    #include 
    #include 
    
    int main(int argc, char *argv[])
    {
        std::thread t1
        (
            [&]
            {
                QApplication a(argc, argv);
                MainWindow w;
                w.show();
                return a.exec();
            }
        );
        t1.join();
    }
    

    Here Mainwindow can be your QMainWindow.

提交回复
热议问题