这两三天被这个问题一直折磨着,希望哪位大神解救一下我,最近有个Qt项目,dll里编写串口驱动,界面是另一个人做,所以希望我能够提供接口函数,让他把驱动调起来,于是我在dll中写了个comm类专门处理串口的通讯,继承于QObject,然后在写了一个driver类,也是继承于QObject,在driver这个构造函数中new了一个QThread,然后就是将comm类的一个对象movetothread到那个new出来的线程中,让他在线程中运行。最后做了一个接口函数,就是new一个driver类的对象出来,这个接口一调用就出现问题了
我自己做了个QT的Gui程序去调用这个接口,提示QEventLoop: Cannot be used without QApplication。
于是乎我在那个接口函数就加了QApplication并exec,这样驱动正常起来了,但是本来GUI程序里就有QApplication和exec,这样如果接口放在画面show这前,画面就不显示,放在界面show之后,画面关闭了,进程不退出,各种头疼!