
Qt工程开发实践
文章平均质量分 75
此专栏主要是一些工作中开发的一些经验总结和一些界面实现
师从名剑山
活着就不能放弃,打破质疑
展开
-
从零开始:在Qt中使用OpenGL绘制指南
本文详解如何通过Qt的QOpenGLWidget和QOpenGLFunctions实现跨平台GPU渲染,以绘制三角形为例。从OpenGL函数跨平台加载原理切入,解析Qt对底层API的封装价值,逐步讲解顶点缓冲、着色器编译及渲染流程,提供完整代码和常见问题解决思路,助力开发者高效降低CPU负载,掌握Qt与OpenGL整合的核心实践。原创 2025-04-05 22:53:48 · 1327 阅读 · 1 评论 -
OpenGL渲染YUV实战:GPU加速转换与MipMap模糊效果实现
本文介绍了使用Qt和OpenGL渲染YUV420P数据的方法,包括YUV到RGB的转换以及通过OpenGL实现画质模糊的技术。文章详细讲解了YUV420P的结构、OpenGL纹理处理、MipMap技术及其在模糊效果中的应用,并探讨了在OpenGL ES 2.0环境下的兼容性问题及解决方案。最后,提出了进一步优化性能的方向,如FFmpeg硬解码和零拷贝渲染技术。原创 2025-03-29 14:10:54 · 682 阅读 · 0 评论 -
✅ Qt流式布局
本文介绍了Qt中的流式布局概念,即布局能够根据界面尺寸的变化自动调整其内部控件的位置。由于Qt的标准布局不支持流式布局,文章详细阐述了如何通过继承QLayout并实现特定函数来创建自定义流式布局。原创 2024-11-24 15:52:40 · 1191 阅读 · 0 评论 -
✍Qt自定义带图标按钮
自定义实现能够随心控制图标、样式的按钮原创 2024-11-09 17:52:10 · 1672 阅读 · 0 评论 -
Qt Oracle往数据库里插入或者更新图片
Qt Oracle 利用bindValue函数,实现数据库图片的更新原创 2022-04-01 21:50:21 · 1555 阅读 · 0 评论 -
Qt QCheckBox设置复选框的大小
文章目录Qt设计QCheckBox样式表QCheckBox的各部分代表的样式表Qt QCheckBox设置复选框的大小Qt设计QCheckBox样式表QCheckBox的各部分代表的样式表QCheckBox{ background-color: rgb(85, 170, 255); color: yellow;}QCheckox::indicator:unchecked{ /* 设置边框的风格*/ border-style: solid; borde原创 2022-02-11 20:26:52 · 12144 阅读 · 0 评论 -
记一次QT的QSS多个控件设置同一个样式的问题
Qt QSS多个控件设计为同一样式时,在逗号分隔控件时,也要重新设置选择器,不能复用前面的选择器。原创 2022-05-08 18:07:01 · 3770 阅读 · 0 评论 -
Qt设置QTextEdit的行高
Qt设置QTextEdit的行高解决方法:QTextDocument* doc = ui->edtCountryIntroduce->document();for(QTextBlock it = doc->begin(); it != doc->end(); it = it.next()){ QTextCursor textCursor(it); QTextBlockFormat textBlockFormat = it.blockFormat();原创 2022-01-24 19:54:05 · 2665 阅读 · 0 评论 -
Qt 实现文字输入框,带字数限制
文章目录Qt 实现文字输入框,带字数限制核心构思代码实现Qt 实现文字输入框,带字数限制核心构思核心的点在于,限制输入的字数;主要的方法为创建一个组合窗口textChanged 这个信号,会在你输入字符之后发射,可以连接这个信号,在发射了信号之后,去获取当前QTextEdit里的内容,获取数量,然后根据最大数量,来选择是不是需要截取文本;光标的移动的问题。在进行插入时,光标要时刻保持在当前位置。文字内容的行高。这里请看Qt设置QTextEdit的行高_师从名剑山的博客-优快云博客原创 2022-04-08 23:05:20 · 1503 阅读 · 0 评论 -
Qt 设置QTableView表格列宽自动均分表格
文章目录Qt 设置QTableView表格列宽自动均分表格前言setSectionResizeMode通过获取字体占的像素来设置Qt 设置QTableView表格列宽自动均分表格前言最近项目需要对数据库里的表进行一个自适应的显示,在显示到QTableView上时,发现表格的宽度会有点不太好看,所以就决定自动的调整表格的宽度。setSectionResizeModeui->tableView->horizontalHeader()->setSectionResizeMode(QHe原创 2022-02-11 21:20:46 · 8944 阅读 · 12 评论 -
Qt QLabel设置超链接hover时出现下划线
鼠标覆盖label上的超链接时,添加下划线,不覆盖时就去掉下划线原创 2023-04-02 15:13:56 · 1800 阅读 · 1 评论 -
QWidget的isHidden和isVisible
文章目录QWidget的isHidden和isVisible问题的出现QWidget的show()函数QWidget的isVisible和isHidden源码追溯QWidget的isHidden和isVisible问题的出现最近在写代码的时候,出现了一个问题,我新建了两个类,分别是Chapter2和ConsecutiveCurtain// ConsecutiveCurtain.cppConsecutiveCurtain::ConsecutiveCurtain(QWidget *parent)原创 2022-03-20 00:44:18 · 2291 阅读 · 0 评论 -
Qt 给窗口绘制阴影
文章目录Qt 给窗口绘制阴影前言重载`paintEvent`法QGraphicsDropShadowEffect方法使用九图拼凑法九宫格缩放阴影法Qt 给窗口绘制阴影前言最近自定义一个消息弹框,但是没加阴影之前,觉得有点扁平。然后仔细看了Qt自带的消息弹框,发现是没有加上阴影的问题。所以就在网上搜索怎么加阴影,有多种方法。写这个博客的目的是记录一下这几种方法,并且加上我对于这些方法的理解。具体的方法有重载paintEvent,调用drawRect或者drawRoundedRect或者drawP原创 2022-02-23 22:30:01 · 2656 阅读 · 2 评论 -
Qt QHeaderView 添加复选框
Qt QtabeView 重载QHeaderView来设置复选框原创 2022-02-13 21:11:58 · 4942 阅读 · 2 评论 -
Qt 重载QComboBox,实现右侧删除键
自定义QComboBox原创 2022-04-09 20:15:11 · 4036 阅读 · 2 评论 -
Qt QTableView 表格内添加控件
文章目录Qt QTableView 表格内添加控件1. QItemDelegate2. setIndexWidget3. setIndexWidget + setLayoutQt QTableView 表格内添加控件书接上回,之前写了怎么在表格的表头添加复选框,Qt QHeaderView 添加复选框_师从名剑山的博客-优快云博客。这次来写怎么给表格内添加控件。往表格里添加控件主要有两种方法,第一种是使用代理,QItemDelegate,重载其createEditor这个函数,但是这个有个缺点,就是原创 2022-02-18 19:59:24 · 8008 阅读 · 4 评论 -
Qt 生成应用程序(二)软件多图标与文件操作
把某个后缀名的文件的默认打开软件换成自己的,还要换个自定义的图标。原创 2023-07-29 09:23:07 · 1278 阅读 · 2 评论 -
Qt Qss 设置QPushButton图标和背景
Qt QSS通过background-repeat和background-position设置背景图片位置原创 2022-05-15 16:56:25 · 5268 阅读 · 0 评论 -
QTreeView自绘实现酷炫样式
本篇文章结合笔者的经历,介绍一种通过自绘QTreeView,使用来实现好看的列表的方式。原创 2023-08-17 21:08:30 · 1491 阅读 · 0 评论 -
Qt使用QAudioInput、QAudioOutput实现局域网的音频通话
Qt QAudioInput+QAudioOutput+QUdpSocket实现局域网实时语音通话原创 2022-08-30 00:39:47 · 3558 阅读 · 35 评论 -
Qt修改exe文件图标
本文介绍了在QtCreator和Visual Studio环境下,如何为生成的应用软件设置默认图标以及窗口标题图标。在QtCreator环境下,可以直接在.pro文件里进行设置,也可以通过Windows下的rc文件来设置;在Visual Studio环境下,需要右击项目,选择添加资源文件,然后选择icon文件,点击导入即可。此外,本文还介绍了如何设置软件的标题图标。最后,作者还提到了如何利用Qt自动生成rc文件,以及如何设置某种后缀的文件默认打开软件以及关联某种后缀的文件图标。原创 2021-04-04 22:56:09 · 4390 阅读 · 1 评论 -
Qt ButtonRole参数的作用
Qt QMessageBox 中ButtonRole的作用为:让系统放置你的button的位置原创 2022-05-29 18:08:31 · 764 阅读 · 0 评论 -
Qt QPropertyAnimation+QTimer实现自制悬浮窗
文章目录Qt下的悬浮窗QPropertyAnimationQTimer事件过滤图标变换自适应窗口大小使用方法Qt下的悬浮窗最近项目需要一个类似于360悬浮球类似的悬浮窗,当鼠标放入停留一段时间,就会展开悬浮窗,移出区域就会自动收起。随便在网上找了一下,没找到,想着熟悉Qt提升自己编程技术的出发点,我就自己造了个轮子,如果有问题,希望大家指正。QPropertyAnimation我用的是Qt自带的动画类,官方文档的解释是:上面画红框的意思是,你可以指定属性的开始和结束值。使用方法如下:// 设原创 2022-01-05 00:16:59 · 1300 阅读 · 0 评论 -
QSound、QSoundEffect播放WAV音频
QSound、QSoundEffect播放音频原创 2022-07-28 23:10:11 · 3577 阅读 · 5 评论 -
QT5.14.1+Win7 64+Oracle11gR2 Qt连接数据库
原文链接1.QT5.14下OCI驱动编译完整步骤1.安装qt的时候手动选择安装源码资源(默认不安装Source的)2.进入QT安装目录下E:\Qt5.14\5.14.0\Src\qtbase\src\plugins\sqldrivers\oci双击用qtcreator打开oci.pro文件进行如下图片内对oci.pro的修改前提准备:找到本地oracle客户端的目录 例如:C:\Oracle\instantclient_11_2(温馨提示:oracle客户端的版本不能比oracle服务端的低转载 2021-04-02 11:43:51 · 414 阅读 · 0 评论 -
Qt读取Oracle中的中文乱码问题
Qt读取oracle中的中文因为有的时候我们的oracle数据库里面的值是一个varchar2格式的,这就是一个ascii码,但是我们qt一般不是ascii码解决方法如下先使用utl_raw.cast_to_raw用SQL语句来转换select utl_raw.cast_to_raw(chinese) from person这个里面的chinese是你要读取的中文列的名字然后再在Qt里面进行转换 QSqlQuery query; QString str = QString::fro原创 2021-05-11 22:44:40 · 522 阅读 · 11 评论 -
QTableView实现在表格内直接对数据库内容进行修改、新增和删除等操作
文章目录前言QSqlTableModel新增删除修改提交取消前言本文主要利用QSqlTableModel+QTableView来实现直接在QTableView中进行对数据库数据的操作新增:点击新增按钮之后,光标直接移到最后一行,然后双击进行表内容的填充。删除:选中一行之后,点击删除。修改:选中一行,点击修改,此时表内容可修改。提交:将进行的操作提交到数据库操作。取消:取消操作。QSqlTableModel简易用法: // QSqlTableModel(QObject*, QSqlDat原创 2021-12-20 00:49:01 · 17179 阅读 · 38 评论 -
Qt QDateEdit下拉日历的样式设计
但是还是在谷歌上找到了一些代码,解决了这些个问题,可能百度上有类似的东西,我也是copy的,但是看着百度上搜到的简简单单的没有注释的代码,有点摸不着头脑,所以就想自己来分享一下,也是记录一下遇到的问题。这些话,写在2023-6-8,本来寻思着把之前的一些博客写的不好的,更新更新,写的不对的,纠正过来,不误人子弟。但是在改的过程中,看到之前刚开始接触Qt时,写的一些博客,感觉自己的博客内容写的很稚嫩,有些语句都很不通顺。工作了快三年了,回首往昔,都是靠自己硬学学过来的,写这些也没有太多含义。原创 2021-06-18 00:00:21 · 7477 阅读 · 4 评论 -
Qt解析JSON
Qt解析JSON的类QJsonDocument、QJsonObject、QJsonArray原创 2022-07-27 22:41:42 · 3749 阅读 · 1 评论 -
Qt关于使用QSqlQuary::size()这个函数值返回是-1
QSqlQuary::size( )今天做项目的时候,用Qt连接Oracle数据库,前面都是连接成功,但是用SQL语句去操作数据库的时候,发现老是读不到内容,卡了好久。 QSqlQuery RuleQuery; RuleQuery = QSqlQuery(OracleCon); qDebug() << command; //command 是SQL语句 if (!RuleQuery.exec(command)) { qDebug() <<原创 2021-04-02 15:49:19 · 3091 阅读 · 2 评论 -
一些Qt样式设计的小积累
QRadioButton 的设计QRadioButton分有两个部分,由按钮和背景文字组成。QRadioButton::indicator{ ...; // 设置你想要的属性}QRadioButton::indicator::unchecked{ ...; // 这里是设置按钮未按下时的状态}QRadioButton::indicator::checked{ ...; // 这里是设置按钮按下时的状态}QRadioButton::unchecked{ ...; //原创 2021-04-19 22:31:41 · 278 阅读 · 0 评论 -
Qt 获取本机ipv4地址
本文介绍怎么用Qt去获取本机的ipv4地址。原创 2022-07-31 21:39:11 · 2023 阅读 · 0 评论 -
Qt通过setProperty来达到设置控件的不同样式表
文章目录前言setProperty前言最近在做项目的时候,找了一个开源的小控件,发现里面有一个设置样式的骚操作,就是根据控件的不同属性来显示不同的样式。setProperty原创 2021-12-15 02:20:16 · 6362 阅读 · 0 评论 -
Qt QSqlDatabase的removeDatabase需要注意的地方
文章目录问题描述Qt官方解决方法另外一种解决方式碎碎念关于智能指针问题描述今天在做之前代码的重构的时候,在调用QSqlDatabase的removeDatabase函数的时候,出现了如下错误QSqlDatabasePrivate::removeDatabase: connection '1638178058438' is still in use, all queries will cease to workQt官方解决方法在Qt的官方文档中,有对removeDatabase这个函数的注释。原创 2021-11-29 23:47:40 · 3549 阅读 · 5 评论 -
Qt 实现带阴影 无边框的QMessageBox
Qt 实现带阴影的QMessagebox在实际项目里面使用到了QMessageBox做一个弹窗,最开始是样式不是需要的样式,就去找了一下QMessageBox的样式表,一般来说可以使用findChild()来找到这个控件中的一切子控件,Qt的许多控件都是由一些其他的控件组合在一起。下面这个函数是来自博主公孙二狗void MainWidget::dumpStructure(const QObject *obj, int spaceCount) { qDebug() << QStrin原创 2021-06-26 14:00:40 · 3581 阅读 · 2 评论 -
Qt实现检测软件是否多开
Qt 实现检测软件是否多开原创 2024-07-04 21:02:26 · 795 阅读 · 1 评论