首先,我只想说为了装vs2005+qt4.8.5这个环境,我骂了不知道多少娘。。度娘了各种方式,折腾了1整天吧。万幸的是最后居然成了,工作算是能顺利开展了!
nomake examples -nomake demos -nomake tests -opengl desktop 4 make >nmake module-qtbase 所用时间差不多是 Qt4.8
由于qt4.8支持的环境比较老,所以ubuntu18 20这些高版本安装时会出现各种问题,最好在14和16下安装,本文的版本是ubuntu16.04。
也不大稳定,本人在早期的Qt版本比如Qt5.3时代用过几次,是有点莫名其妙的问题,后面索性就不在用自带的了,而是用的第三方开源的qextserialport,主要还是因为本人做过的硬件设备上面大量的还是Qt4.8
Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法区别不大,用起来都比较方便,但继承QObject的方法更加灵活。 继承QObject的多线程实现 在Qt4.8之后,Qt多线程的写法最好还是通过QObject来实现,和线程的交互通过信号和槽(实际上其实是通过事件)联系。
Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法区别不大,用起来都比较方便,但继承QObject的方法更加灵活。
从Qt4.8起,通过将finished()信号连接到QObject::deleteLater(),可以释放位于刚刚结束的线程中的对象。
从Qt4.8起,通过将finished()信号连接到QObject::deleteLater(),可以释放位于刚刚结束的线程中的对象。
从Qt4.8起,可以释放运行刚刚结束的线程对象,通过连接finished()信号到QObject::deleteLater()槽。