
Qt实战记录
文章平均质量分 67
在学习过程使用的demo,遇到的问题分享。
蓑衣夜行
不断学习,不断进步,成为一个手艺人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Qt动画编程实战:打造丝滑流畅的移动特效》
《Qt动画编程实战:打造丝滑流畅的移动特效》 附上源码地址原创 2025-02-27 14:39:45 · 341 阅读 · 0 评论 -
《Qt动画编程实战:轻松实现头像旋转效果》
《Qt动画编程实战:轻松实现头像旋转效果》附上源码地址原创 2025-02-27 14:38:04 · 453 阅读 · 0 评论 -
《Qt窗口动画实战:窗口渐隐渐现效果》
《Qt窗口动画实战:窗口渐隐渐现效果》 附上源码地址原创 2025-02-27 14:36:11 · 557 阅读 · 0 评论 -
《Qt窗口动画实战:Qt实现呼吸灯效果》
打造优雅的UI动画:Qt实现呼吸灯效果原创 2025-02-27 14:31:12 · 685 阅读 · 0 评论 -
Qt Creator中designer使用QWebEngine异常排查
嘿,来一起debug吧原创 2023-08-03 14:02:40 · 1718 阅读 · 2 评论 -
Qt自定义圆角渐变
因为在写文章的过程中,经常需要对图片做些简单的增加个圆角阴影处理。原创 2022-12-12 21:20:28 · 488 阅读 · 0 评论 -
适配高DPI QWidget::move移动有错误?
适配高DPI QWidget::move移动有错误?原创 2022-11-30 10:52:01 · 904 阅读 · 0 评论 -
修改Qt源码支持DPI粒度到QWidget
什么???居然支持高DPI 自定义QWidget适应原创 2022-11-10 09:47:24 · 1116 阅读 · 0 评论 -
QWebEngine图片渲染性能优化
我们有一个这样的场景,就是利用QWebEngine把网页渲染成图片,再传给服务器。我们当初采用QWebKit来渲染的,因为考虑网页可以更灵活,而且实现起来简单。当时当我们升级Qt版本从5.5升级到5.15之后就发现,在性能差的虚拟机里面渲染2张图片,几百KB的图片就已经很吃力了。往往渲染的图片不正常,有部分黑影。最主要的就是图片渲染得不全,一边有图片一边是黑色背景。原创 2022-09-19 13:05:17 · 1187 阅读 · 0 评论 -
编译OpenSSL注意事项
编译openssl总结原创 2022-09-02 11:02:03 · 621 阅读 · 0 评论 -
Qt升级血与泪
Qt升级一波三折原创 2022-08-16 09:24:05 · 6025 阅读 · 7 评论 -
shellexecute启动程序出错
ShellExecute执行,程序报错。required application data could not be found.原创 2022-07-20 15:20:21 · 1721 阅读 · 0 评论 -
美化QTabWidget(3)
增加无边框窗口功能(缩放,移动)增加tab贴图功能双击关闭tab可以设置是否需要绘制“+”按钮。支持tab拖拽,合并将绘制接口导出来,方便用户自定义绘制和贴图原创 2022-06-23 13:54:49 · 1341 阅读 · 0 评论 -
Qt中诡异现象UI被切割的问题
项目升级到Qt 5.15.2之后就发现这个诡异的现象,但是Qt 5.5就没有这个现象。很是麻烦,一点头绪都没有。我们先来看下现象。再看看异常的UI:这两张图片可以看出明显的不一样。第二张图片里面的控件像是被拉伸,切割了一样。其实在真实的项目场景中,UI就像被是切割了一样。先说原因,其实这个是因为系统的DPI发生了变化,导致界面进行了缩放。比如:我先把系统的DPI设置150%,然后软件也会跟着放大1.5倍。我再把系统的DPI还原为100%,此时软件应该恢复到原来的大小,但实际上并没有,而是大小被切割了一原创 2022-06-14 12:52:58 · 933 阅读 · 0 评论 -
排查自模拟QWheelEvent事件不能向上传递排查
排查自模拟QWheelEvent消息不能向上传递1、事情起因因为我们的项目需要做一次大升级。从Qt 5.5升级到Qt 5.15.2.0,这个大版本的升级真是把我折腾的够呛。在我们的项目中,自己模拟了一个鼠标滚轮消息的。利用QApplication::postEvent()函数,向消息队列中发送一个QWheelEvent消息。这样就可以控件就可以自动滚动了。但是项目升级到Qt 5.15.2.0之后发现不行了。擦了擦额头的汗,这个bug怎么修啊?无从下手的感觉。去请教别人?万一,别人觉得我很low怎原创 2022-05-19 09:16:52 · 468 阅读 · 0 评论 -
Qt vs2013升级到vs2019
upgrade vs 2019 注意事项 自定义的Vector和系统的定义冲突winnt.h(RtlValidateCorrelationVector( In PCORRELATION_VECTOR Vector))如果要定义类型,请定义标识性特别强和项目名称相关。 这个问题在于报出的error,很难去排查。头文件引入不规范 比如里面用到了QPainterPath class,但是在实现时未引用头文件,在vs2013上可以编译通过,高版本编译未能通过。一些stl函数废原创 2022-05-17 22:58:37 · 1012 阅读 · 0 评论 -
美化QTabWidget (2)
美化QTabWidget(2)1.效果展示 2.用法展示 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setupUI(); QWidget *widget = new QWidget(); widget->setStyleSheet("background-colo原创 2022-05-08 23:16:13 · 1495 阅读 · 0 评论 -
美化QTabWidget
美化QTabWidget1.效果展示 2.用法展示 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setupUI(); ui->tabWidget->addTab2(new QWidget(), tr("this is first tab"));}MainWindo原创 2022-04-18 19:17:47 · 2275 阅读 · 0 评论 -
QLabel文字被切割
QLabel文字被切割原创 2022-02-10 15:39:01 · 617 阅读 · 0 评论 -
最新版Qt6.2.2首发编译
Qt 6.2.2编译编译大型项目源码这件事情,你要是没有搞过,肯定觉得多少都有些难度,但是你一旦实践过,你就会在心里有个大概。所以不要有抵触情绪,动手去实践。从我实践的经验来看,核心就是一点:环境的配置。如何做到环境的最优配置,不污染其他的环境才是核心,还要注意配置信息的输出。一个大型项目,代码基本上没有问题的。如果在编译过程的出现一些非常低级的编译错误,我觉得极大的可能性环境配置有问题。比如,我在编译过程出现的问题: D:/qt/qt-everywhere-src-6.2.2/qtbase/.原创 2021-12-16 16:33:40 · 5062 阅读 · 13 评论 -
QWebView中JS和C++通信,利用QWebView生成图片
1.主要目标 用最简单的代码实例相互通信 JS调用C++代码 C++调用JS代码 利用QWebView渲染出png图片 2.介绍项目的情况在项目中只要用到了浏览器组件,不关你是libcef,QWebEngine,QWebView,都少不了和前端通信的需求。在QWebView中做到这些都是很简单的事情,通常也是几行代码的时候。但是也有点小坑要绕着走。1.新建一个项目使用QtCreator新建一个Widget项目的过程,我就省略了啊。里原创 2021-12-03 14:00:40 · 1317 阅读 · 0 评论 -
QWidget中setMask函数
1.场景说明在项目中,我们有时候会遇到一些特殊的UI场景。比如如下图所示:这种带阴影的模糊效果,其实这种效果的方法很多。但是我想的是,尽量不要让我自己手动写代码实现效果。用UI设计器能搞定就行了。尽量少手写代码像这种的带浮层的阴影效果,最上面就是一层阴影的窗口。这样就会有一个问题,就是上面的是阴影窗口。如果下面有按钮或者其他的窗口,你点击的时候就不会有事件过来。因为事件被上一层窗口截获了。有的朋友就可能会想到用setAttribute(Qt::WA_Transparen...原创 2021-11-26 13:56:54 · 5581 阅读 · 0 评论 -
QtCreator不能加载qrc里面的资源
QtCreator不能加载qrc里面的资源原创 2021-11-25 16:57:41 · 2178 阅读 · 0 评论 -
QSS设置字体透明度
1.效果演示我先上效果图看看。// 不带效果样式表QLabel{font: 11pt "Arial";color:#FF00FF00;}// 带效果样式表QLabel{font: 11pt "Arial";color:#2F00FF00;}我想你已经发现了,color的前两位十六进制就是表示透明度(0~255),后面的6位就是RGB。2.思考的过程接下来我想跟你说说,我是怎么思考的过程。这个才是解决问题的本质。当看到UI设计师的标注图的时候。...原创 2021-11-21 17:02:57 · 2693 阅读 · 0 评论 -
Qt--编译QtWebEngine支持mp4
Qt--编译QtWebEngine支持mp4原创 2021-11-17 14:15:02 · 2358 阅读 · 0 评论 -
自定义Qt控件系列-实战(3)
先不说发废话了,我们直接上图看效果 支持文字描边(描边颜色,描边大小) 支持文字颜色动态修改,即所见所得 支持文字省略(省略号:左边,居中,右边) 支持click,MouseEnter,MouseLeave信号 我们还是老规矩创建个插件的项目,不过这次大家在创建的时候,有些选项需要注意下。就是在这里的时候需要注意继承的QLabel,其他的都不是重点了。1.代码展示接下来,我和大家一起看下代码的中实现。其实坐下来发现,掌握思路,实现起来并不是很难..原创 2021-11-15 12:49:18 · 1078 阅读 · 0 评论 -
自定义Qt控件系列-自定义属性和信号(2)
这篇文章主要想和大家分享在自定义控件中在designer中的显示问题,以及如何自定义属性和信号。哈哈,要解决的问题挺多的。让我们一个个来,不着急。1. 解决在designer中的分组名字和图标这个是我们上一节课的显示出来的。这个分组名字不够大气,图标不能体现个性。让我们看看customwidget2plugin.cpp里面都有啥内容,或许能找到我们感兴趣的东西。下面的这段代码就是我们比较感兴趣的了。// 控件的名字,注意这里的名字必须和class name保持一致Q...原创 2021-11-11 15:36:57 · 1460 阅读 · 0 评论 -
自定义的Qt控件系列-创建项目(1)
在开发过程中,我们可能会复用控件的需求,比如说一些自定义的QLabel,QPushButton控件。一次开发,到处使用。所以就有必要把这个控件独立出来,哈哈,想想还是挺有意思的,以前都是用Qt自带的控件,这次可以把自己的控件给别人使用。1. 结果展示注意下图的3点:在Widget 窗口中里面增加了自定义窗口部件 custom_widget 在中间的Form窗口中添加custom_widget控件,在控件绘制了一行文字 在最右边的属性设计器自定义3个属性2. 具体的步骤 Qt.原创 2021-11-11 15:28:59 · 900 阅读 · 0 评论 -
Qt开源小项目--查看dll,exe的版本信息
Qt开源小项目–查看dll,exe的版本信息先上图看看效果:在工作可能经常遇到的对文件的签名,dll和exe中所带的信息进行提取和验证。所以我就封装成一个类,以后直接调用了,非常的方便。大家拿到这个类就可以直接使用在项目中。这里我就贴出主要的代码,我会把完整的项目放到github上面。/******************************************************************************** Copyright (C) 2018 lius原创 2020-06-12 16:03:38 · 1111 阅读 · 2 评论 -
Qt源码分享(四)--自定义标签,源码分享
Qt源码分享(四)–自定义标签,源码分享由于最近的疫情的影响,导致公司走了一部分人。又是项目的重新启动,导致我没有时间写文章了。分享一些自定义控件,是从公司的项目中抠出来的。关注微信号:cpp手艺人,获取源码好,废话不说,先看看效果怎么样。1.自绘制图片2.大小自适应注意:这个demo只是演示使用的,里面的一些内存还没有释放,如果你要套用一定要注意内存问题,因为一些内存问题的释放和业务有关系,这里我就做下演示。这里我贴出主要的代码:void TabButton::Resize(const原创 2020-05-26 19:06:21 · 681 阅读 · 0 评论 -
Qt源码分享(三)--自定义menu
关注微信公众号在菜单栏获取源码这里分享下,Qt下面的自定义的menu。先上效果图。我这个只是简单的做个demo,如果你想要更复杂的效果,就要重写QPushButton或者是其他的控件,原理都是一样的。我贴出里面的重要代码:void CustomMenu::initMenu(){ m_AppMenu = new QMenu(this); m_AppMenu->s...原创 2020-04-02 13:38:33 · 912 阅读 · 0 评论 -
Qt源码分享(二)-- 圆角+阴影+可移动+大小可变+标题
Qt源码分享(一)-- 圆角+阴影+可移动+大小可变关注微信公众号在菜单栏获取源码在源码分享(一)基础上,实现无窗口实际上还是有点不完整,这次我在原来代码的基础上增加了标题栏好,我们先看下效果:#include "centerwidget.h"#include <QApplication>CenterWidget::CenterWidget(QWidget *par...原创 2019-11-22 17:43:47 · 366 阅读 · 0 评论 -
Qt源码分享(一)-- 圆角+阴影+可移动+大小可变
Qt源码分享(一)-- 圆角+阴影+可移动+大小可变关注微信公众号在菜单栏获取源码由于自己项目的需要,主界面需要实现圆角+阴影+可移动+拖拽可变大小。一看到这样的功能,立马就开始百度。结果百度了快一天都没有找到合适的,虽然能够实现圆角或者阴影的,但是实现的方式总觉得不太合适。最后还是高人赵哥把源码给我了,我又在网络上搜索了一番加上拖拽可变大小的功能。好,我们先看下效果:为了对原作者的尊...原创 2019-11-22 17:42:54 · 320 阅读 · 5 评论