QT
文章平均质量分 54
QT
bkspiderx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt 密码框优化实现:字符短暂显示后自动隐藏为*
本文介绍了一种优化密码输入体验的Qt实现方案,通过短暂显示输入字符后再自动隐藏为掩码(*),在保证安全性的同时提升用户友好性。文章详细阐述了实现原理,包括双重数据存储机制、定时器控制和事件拦截等关键技术,并提供了完整的自定义QLineEdit控件代码(头文件和源文件)。该方案支持常规输入、退格删除、粘贴操作以及光标位置同步,有效解决了传统密码框难以即时发现输入错误的问题,实现了安全与易用的平衡。原创 2025-11-18 08:00:00 · 737 阅读 · 0 评论 -
Qt 圆角效果实现完全指南:从控件到窗口的美化方案
本文系统介绍了 Qt 中实现圆角效果的多种方案。通过样式表(QSS)可快速为按钮、输入框和容器添加圆角,关键属性包括 border-radius 和 background-color。对于更复杂需求,如渐变背景或动态效果,可重写 paintEvent 使用 QPainter 进行自定义绘制,注意开启抗锯齿以获得平滑边缘。文章通过代码示例详细展示了不同控件的圆角实现方法,并解析了关键属性作用,帮助开发者高效美化 Qt 界面。原创 2025-11-18 08:00:00 · 1824 阅读 · 0 评论 -
Qt 中拦截按键事件
本文介绍Qt中拦截按键事件的多种方法:1)重写keyPressEvent和keyReleaseEvent实现部件级按键拦截;2)使用事件过滤器拦截特定对象的按键;3)重写QApplication::notify实现应用级全局拦截。重点讲解了如何拦截特定按键、组合键,并对比了不同拦截方式的适用场景,建议优先采用最小范围的拦截方式。文章提供了完整的代码示例,包括按键判断、事件传递控制等关键实现细节。原创 2025-11-17 09:20:03 · 578 阅读 · 0 评论 -
QT中ARGB32转ARGB4444优化4K图像性能的实现方案(完整源码)
文章摘要 本文介绍了在QT项目中优化4K图像性能的解决方案。针对QImage::Format_ARGB32格式在4K分辨率下数据量过大导致性能不足的问题,提出通过修改QT源码实现ARGB32到ARGB4444格式转换的方案。该方案涉及修改QT 5.14.2版本中的两个核心文件:qlinuxfbscreen.h和qlinuxfbscreen.cpp,通过添加成员变量和实现格式转换逻辑,将每个像素从4字节压缩到2字节,从而显著减少数据量并提高编解码性能。文章提供了完整的修改代码实现,适用于基于Linux帧缓冲的原创 2025-08-14 16:04:22 · 666 阅读 · 0 评论 -
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 · 688 阅读 · 1 评论 -
QT绘图过程中的跳屏问题:就是出现中间过渡图片现象
后面发现可能是由于控件过多导致QT底层绘图还是出现了跳屏,后面怀疑就setUpdatesEnabled启用后,各个窗口的更新还是异步的,就是各个窗口并没有提前刷新,而是setUpdatesEnabled启用后才重新绘制,没有提前绘制等待启用。所以在setUpdatesEnabled(ture)之前添加了200ms的延时测试,跳屏问题解决,当然这个200ms时间是个经验值,实际项目中可以自己斟酌。可能是嵌入式CPU的性能上不足,在绘制字体和文本的时候,有概率会出现字体先变化,然后文本后变化过程。原创 2023-09-07 10:27:48 · 395 阅读 · 1 评论 -
VS开发过程中用到QT时,简单生成makefile的过程
我们在使用VS开发的时候,有时候会用到QT来做界面,假设你已经有了交叉编译过的QT库。不想使用过于复杂的一些功能。那么可以用这种方法来生成一个makefile,简单方便。原创 2023-07-10 17:27:47 · 742 阅读 · 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 · 380 阅读 · 0 评论 -
QT使用 Linux framebuffer时候 支持QT本身不支持的其他格式(例如支持argb4444)的一种取巧方法,
工作中遇到一个问题,就是使用QT作为界面库,但是由于底层编解码在叠加OSD的时候,如果使用argb32(QImage::Format_ARGB32)的时候,4K的图像图片太大,编解码叠加导致性能不足等问题,所以需要图片压缩成argb4444的格式来规避性能问题。不想搞插件,只说说我的做方法,愿意用插件的自己搞。原创 2023-06-01 16:48:01 · 1850 阅读 · 0 评论
分享