程序卡顿
在win10上运行QT发布的程序比在Ubuntu上面卡很多,为了使界面更流畅,找到原因,一个一个调整。
1.QFile.remove()
为了清空文件的内容,在界面线程调用了QFile的remove(),将该调用去除,改为下一次打开文件时时,设置QIODevice::Truncate, open( QIODevice::Truncate )
2.QSound.play()
在界面线程中调用了QSound.play(),用来播放音乐。
解决方法:将播放音乐单独放到其他线程,在界面线程中仅仅发送信号来通知其他线程来播放音乐。
总结
总之主线程,也就是用于显示界面的线程中,最好除了界面的切换,显示及修改操作外,尽量减少其他的操作,让其他的操作尽量在其他的线程中运行,而不是在主线程中,这样能尽量地减少界面的卡顿。使用ubuntu发布程序比在Windows上会流畅很多。

博客讲述了在Windows和Ubuntu上运行QT程序时出现的卡顿问题,以及如何优化以改善界面流畅性。主要优化点包括:1) 将QFile.remove()操作替换为QIODevice::Truncate,避免界面线程阻塞;2) 将QSound.play()操作移到其他线程,通过信号触发播放,确保主线程不被音乐播放阻塞。建议尽量减少主线程中的非界面操作,以提高用户体验。
5万+

被折叠的 条评论
为什么被折叠?



