QT界面相关
bkspiderx
这个作者很懒,什么都没留下…
展开
-
QT版本5.14.2:QString的lengh长度问题以及其他长度问题
QT版本5.14.2。QString的lengh返回是字符格式,就是1个汉字或者英文都是1个字符。"a亲自测试"这种字符串返回5,亲自测试,绝对可靠,其他mid,right,left等和lengh是一样 的。原创 2023-11-24 14:40:56 · 579 阅读 · 1 评论 -
QT绘图过程中的跳屏问题:就是出现中间过渡图片现象
后面发现可能是由于控件过多导致QT底层绘图还是出现了跳屏,后面怀疑就setUpdatesEnabled启用后,各个窗口的更新还是异步的,就是各个窗口并没有提前刷新,而是setUpdatesEnabled启用后才重新绘制,没有提前绘制等待启用。所以在setUpdatesEnabled(ture)之前添加了200ms的延时测试,跳屏问题解决,当然这个200ms时间是个经验值,实际项目中可以自己斟酌。可能是嵌入式CPU的性能上不足,在绘制字体和文本的时候,有概率会出现字体先变化,然后文本后变化过程。原创 2023-09-07 10:27:48 · 277 阅读 · 1 评论 -
VS开发过程中用到QT时,简单生成makefile的过程
我们在使用VS开发的时候,有时候会用到QT来做界面,假设你已经有了交叉编译过的QT库。不想使用过于复杂的一些功能。那么可以用这种方法来生成一个makefile,简单方便。原创 2023-07-10 17:27:47 · 570 阅读 · 1 评论 -
QImage保存的图像格式没有透明度a数据问题
OSD采用QT的时候,需要生成一些图片,由于OSD绘图用了ARGB32格式的数据,然而QImage和QPixmap函数中都没有提供带透明度a数据的保存格式,保存的都是24位的数据。实际上如果原始的绘图数据是带透明度a的,那么实际上QImage中是有透明度a数据的。那么再可以自己写函数来保存数据,然后转换成自己需要的格式即可。我们可以通过QImage的bits()函数来获取原始图像数据:bits中数据的排列形式是bgra的排列,下面函数一个简单的讲QImage的ARGB32转换成带透明度BMP32格式。原创 2023-06-02 16:09:38 · 266 阅读 · 0 评论 -
QT使用 Linux framebuffer时候 支持QT本身不支持的其他格式(例如支持argb4444)的一种取巧方法,
工作中遇到一个问题,就是使用QT作为界面库,但是由于底层编解码在叠加OSD的时候,如果使用argb32(QImage::Format_ARGB32)的时候,4K的图像图片太大,编解码叠加导致性能不足等问题,所以需要图片压缩成argb4444的格式来规避性能问题。不想搞插件,只说说我的做方法,愿意用插件的自己搞。原创 2023-06-01 16:48:01 · 1354 阅读 · 0 评论