Qt应用程序出现卡顿的现象怎么解决呢

本文描述一个以前小生在工作中遇到的一个qt小坑:在使用qt完成项目开发后,需要将其运行在嵌入式linux平台上,在设备启动后,经uboot引导和linux内核后,直接进入qt应用程序。然而在进入qt应用程序时,出现了卡顿的现象(也不能说是卡顿,就是在显示窗体的时候效果有点瑕疵),类似于下图所示效果:
(注:屏幕闪光是由于拍摄的影响)
注:使用的qt版本为5.12.9
在qt开发中,显示窗体有常见的几种方式:
【方式一】
【方式二】
以上两种代码写法,在实际嵌入式linux+qt中,在显示窗体时都会先出现一个小图形界面然后再填充全屏,看上去就像卡顿了一样。
刚开始,怀疑是处理器性能问题,在软件启动前期加载受到了影响,但是所用的处理器在性能上应该还可以,于是乎,写了一个最简单的qt demo来测试,发现问题同样存在,于是定位问题在qt程序设计上。于是换了一种写法:
【方式三】
使用resize()重新设置大小,上述代码中1280和800是实际屏幕的像素比,然后使用show()显示窗体。通过这种方式,显示窗体的效果就变得好些了。效果如下:
(注:屏幕闪光是由于拍摄的影响)
在qt中,显示窗体主要有以下几个函数:
void qwidget::show()void qwidget::showfullscreen()void qwidget::showmaximized()void qwidget::showminimized()void qwidget::shownormal()  
上述函数中,以下四个函数在windows平台效果明显,运行也正常,在linux平台上,大概率会有些问题:
showfullscreen():以全屏模式显示小部件。
showmaximized():显示最大化的小部件。
showminimized():显示最小化的小部件。
shownormal():显示正常的小部件。
可见,『方式三』的写法,运行出来的窗体显示效果要好很多了。


SCALE驱动器在100kVA电力机车辅助变流器中的应用
基于 PI LYTSwitchTM-6 LYT6068C 之 35W LED lighting应用方案
车内安装氛围灯有什么用处呢?
关于鸿蒙南向开发者指北的直播回顾
IDC:2022年智能汽车市场研究
Qt应用程序出现卡顿的现象怎么解决呢
云数据库之战下半场,腾讯云数据库打的更有侵略性
不同变压器的工作原理解析
关于单片机延时程序的具体分析
有源晶振与无源晶振
传统汽车照明呈现两极分化 LED大灯成厂商增利新器
浅谈V2X拥塞测试的基本理论
万用表METRAHIT IM XTRA概述及功能
泰科电子M8/M12线束配置器产品概述
中国科学院软件研究所所长赵琛:RISC-V 生态发展思考
数码相机的闪光LED驱动器设计方案
英国政府认为一些法规阻碍了5G的部署
安森美半导体获得CEVA 图像和视觉平台授权许可 用于汽车先进驾驶辅助(ADAS)应用
红米Note 4X红米Note 4的区别?配置和价格!
你应该知道动态功耗调节的方法