
QT开发实战
文章平均质量分 93
【订阅回馈,详见我的主页左侧】QT开发,工控领域的新秀,在数据采集、显示、存储、网络传输等各方面的功能均能搞定,值得拥有。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Winter_world
专注于物联网智能设备开发,目前已完成的项目涉及:医疗健康、智慧养老、智能家居、工控领域,欢迎有需求的各界大佬来撩!
展开
-
Qt5.15.2+OpenCV4.9.0开发环境搭建详细图文教程(OpenCV使用Qt自带MinGW编译的全过程,包教包会)
本文详细讲解下Qt+OpenCV开发环境搭建过程,要想在Qt下使用OpenCV,那就得使用你自己电脑上安装的Qt 对应的去编译OpenCV源码,然后安装到电脑中,接着配置下Qt项目的pro文件,引用头文件和lib即可使用了,看似简单,实际上博主也采了一些坑,再次记录下,希望对后来者有所帮助。原创 2025-04-24 19:46:42 · 341 阅读 · 0 评论 -
Qt——使用第三方库QtXlsx操作Excel表,实现MySQL读取的数据保存至excel文件
软件系统经常有这样的需求,读取历史记录数据,读取后用户还想把该数据保存带走,如存储成excel文件,这样用户使用U盘即可轻松带走需要的文件,那边本次博客详细讲解下QT下如何实现这一功能。使用第三方库QtXlsx操作Excel表,实现MySQL读取的数据保存至excel文件。原创 2025-03-25 17:04:29 · 231 阅读 · 0 评论 -
Qt——使用QtConcurrent::run开启的线程,程序退出后仍在后台运行的解决方法(QFutureWatcher监视线程)
使用QtConcurrent 运行的函数中有while死循环,程序退出后该线程仍在进行,如何让该线程结束?使用this->quit()方法是无效的,因为QtConcurrent::run 启动的线程并没有关联 QThread 对象,也没有事件循环在运行。它是基于 QThreadPool 实现的,直接在一个线程池中的线程里执行指定的函数,所以调用 this->quit() 无法对这个线程产生影响。那么该怎么解决呢?原创 2025-02-26 18:32:20 · 318 阅读 · 0 评论 -
Qt——静态函数中发送信号方法总结(不需要通过类内部信号与槽实现,关键是清楚你发送的信号源自哪个对象)
在Qt引入第三方SDK时,有时会使用到SDK的回调函数,而这个回调函数自己又不能把它定义在自己的类中,因为这样就是在定义时加上了类名,编译时会报错,和SDK中声明的类不匹配。所以只能把这个回调函数定义在类外,而这时要在回调函数中发送信号,就没法使用类中定义的信号了,那么怎么解决呢?原创 2025-02-17 15:28:06 · 195 阅读 · 0 评论 -
Qt——连接MySQL数据库之ODBC的方法详细总结(各版本大同小异,看这一篇就够了)
QT5以后要想使用MySQL数据库就稍显麻烦了,因为官方不提供MySQL的数据库驱动了,所以要想使用只能自己通过官方的QT对应版本的源码编译出动态链接库才可使用。上一次博文总结了这种方法,但是这种方法也不是没有弊端,比如只要换了数据库,可能就得重新编译,否则会存在兼容性问题,那么本次博文总结下另外一种简单的方法,ODBC连接数据库。原创 2025-02-16 12:06:19 · 260 阅读 · 0 评论 -
Qt——连接MySQL数据库之编译数据库驱动的方法详细总结(各版本大同小异,看这一篇就够了)
QT5以后要想使用MySQL数据库就稍显麻烦了,因为官方不提供MySQL的数据库驱动了,所以要想使用只能自己通过官方的QT对应版本的源码编译出动态链接库才可使用。本文总结下如何编译,以及编译完成后如何配置QT,配置QT后又如何使用数据库。原创 2025-02-15 15:16:56 · 251 阅读 · 0 评论 -
Qt——引用第三方SDK lib库的使用方法
最近用QT导入一个设备的SDK,厂家提供了lib库、头文件、dll库,文件比较齐全,本以为挺简单的事,结果折腾了一天,从开始pro文件中添加库的语法问题,到怀疑MinGW还是MSVC编译器的问题,都试了个遍,最后冷静下来终于解决了,再次记录下来,网上查到的资料好多都太有误导性了,希望后来者别再误入歧途。原创 2025-01-21 11:54:44 · 361 阅读 · 0 评论 -
Qt——QTableWidget 限制单元格输入范围的方法(正则表达式输入校验法、自定义代理类MyItemDelegrate)
QTableWidget 表格控件可以用来做成输入控件,在需要对每个单元格进行输入限制时该怎么做呢?比如限制单元格输入的数字范围是0-100,输入时间格式yyyy/MM/dd。原创 2025-01-15 14:09:30 · 596 阅读 · 0 评论 -
Qt——Qt网络编程之TCP通信客户端的实现(使用QTcpSocket实现一个TCP客户端例程)
上一次博文做一个TCP服务器端通信例程,因为没有客户端,使用的是网络调试助手模拟的客户端通信。那么本次博文就做一个客户端的例程,最后拿上次博文做的服务器端程序与本次的客户端进行双向TCP通信验证。原创 2024-06-04 12:18:57 · 558 阅读 · 0 评论 -
Qt——Qt网络编程之TCP通信服务器端的实现(使用QTcpServer、QTcpSocket实现一个TCP服务器端例程)
TCP 协议(Transmission Control Protocol)全称是传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 通信必须先建立 TCP 连接,通信端分为客户端和服务端。服务端通过监听某个端口来监听是否有客户端连接到来,如果有连接到来,则建立新的socket 连接;客户端通过 ip 和port 连接服务端,当成功建立连接之后,就可进行数据的收发了。在 Qt 中,Qt 把 socket 当成输入输出流来对待的,数据的收发是通过 re原创 2024-04-18 17:18:26 · 487 阅读 · 0 评论 -
Qt——Qt网络编程之获取本机网络信息(通过QHostInfo和QNetworkInterface 类获取本地网络所有接口信息)
在建立网络通信前,我们需要获取对方的IP地址、端口号等信息。在网络应用中,经常需要用到本机的主机名、 IP 地址、 MAC 地址等网络信息,在windows下,我们可以在cmd窗口中使用ipconfig指令查看相关网络信息(linux下指令是ifconfig)。Qt 提供了QHostInfo 和 QNetworkInterface 类可以用于此类信息查询。QNetworkInterface 这个类提供了获取本地网络接口(如网卡)信息的方法,包括接口地址、子网掩码、MAC地址等。原创 2024-04-15 16:08:47 · 403 阅读 · 0 评论 -
Qt——Qt实现数据可视化之QChart的使用总结(使用QChart画出动态显示的实时曲线)
在 Qt5.7版本之前,Qt 在开源社区版本里没有Qt Charts这个自带的绘图组件库,只有商业版的才有,要想使用 Qt Charts,我们的Qt版本需要使用 Qt 5.7之后的版本。首先,看下QChart类的继承关系,在Qt Creator中,选中类,按快捷键Ctrl + Shift + T即可查看类的继承关系:QChart 支持多种类型的图表,包括线图、条形图、饼图、散点图等。可以通过 QChart 实例来管理一个或多个数据系列,每个数据系列代表图表中的一组数据。原创 2024-04-03 11:57:43 · 1072 阅读 · 0 评论 -
Qt——Qt绘图之QPainter的使用总结(使用paintEvent实现旋转图片效果)
现在无论是消费场景,还是工控场景,都希望有直观的可视化界面显示,用折线、曲线、柱状图、饼图等显示数据动态变化,一栏数据综合情况,这些已经是很常见的需求了。QPainter类是Qt中用于绘制2D图形的关键类之一,本文将介绍如何使用Qt的QPainter类进行实际的绘图操作。原创 2024-04-01 16:55:10 · 466 阅读 · 0 评论 -
Qt——Qt文本读写之QFile与QTextStream的使用总结(打开文本文件,修改内容后保存至该文件中)
文本读写在工控上位机软件是很常用的操作,比如读写文本配置文件等,本次博文总结下QFile类的用法,QFile可以用来读写文本、二进制文件和资源的 I/O 设备, QFile 可以自己使用,也可以更方便地与 QTextStream 或 QDataStream 一起使用。原创 2024-03-25 15:52:22 · 787 阅读 · 0 评论 -
Qt——Qt控件之基于项的项目控件组-QTableWidget表格控件的使用总结(Qt 表格显示数据的实现)
本次博文总结下Qt基于项的项目控件组QTableWidget表格控件,其继承QTableView,QTableWidget类提供了一个带有默认模型的基于项的表视图。表小部件为应用程序提供标准的表显示工具,QTableWidget 中的项由 QTableWidgetItem 提供。原创 2023-07-06 19:45:00 · 1083 阅读 · 0 评论 -
Qt——Qt控件之基于项的项目控件组-QTreeWidget树形控件的使用总结(Qt模拟群发消息时选择组内联系人的实现)
本次博文总结下Qt基于项的项目控件组QTreeWidget,其继承 QTreeView。QTreeWidget 类提供了一个使用预定义树模型的树视图。QTreeWidget 类是一个便捷的类,它提供了一个标准的树小部件,具有一个类似于 qt3 中的QListView 类所使用的基于项目的经典接口。该类基于 Qt 的模型/视图体系结构,并使用默认模型来保存项,每个项都是 QTreeWidgetItem。原创 2023-07-05 21:30:00 · 1170 阅读 · 0 评论 -
Qt——Qt控件之基于项的项目控件组-QListWidget清单图件的使用总结(Qt 打开歌曲清单列表实现)
本次博文通过做一个QListWidget的例程,总结了该控件的使用方法。这个控件是以基于项的,继承了QListView视图组控件,使用方法相比QListView更简单了,不需要自己去创建模型,因为它已经自己建立了模型,我们使用时直接调用添加项的接口addItem即可。原创 2023-06-29 19:45:00 · 1065 阅读 · 0 评论 -
Qt——Qt控件之基于模型的项目视图组-QTableView表格视图控件的使用总结(Qt 表格显示数据)
本次博文总结下Qt基于模型的项目视图组控件,QTableView表格视图控件,QTableView 继承 QAbstractItemView,被 QTableWidget 继承。 QTableView 类提供了表视图的默认模型/视图实现。 QTableView 实现了一个表视图,用于显示来自模型的项。原创 2023-06-26 19:45:00 · 1179 阅读 · 0 评论 -
Qt——Qt控件之基于模型的项目视图组-QTreeView树形视图控件的使用总结(Qt仿word标题列表的实现)
本次博文总结下Qt基于模型的项目视图组控件,QTreeView树形视图控件,其继承QAbstractItemView,被QTreeWidget 继承。 QTreeView 类提供树视图的默认模型/视图实现。QTreeView 实现了模型项的树表示。该类用于提供以前由 QListView 类提供的标准分层列表,但是使用了 Qt 的模型/视图体系结构提供的更灵活的方法。原创 2023-06-16 19:30:00 · 1997 阅读 · 0 评论 -
Qt——Qt控件之基于模型的项目视图组-QListView清单视图控件的使用总结
本次博文开始总结下Qt基于模型的项目视图组控件,QListView清单视图控件继承QAbstractItemView,被 QListWidget 和 QUndoView 继承。 QListView 类提供模型上的列表或图标视图。 QListView 以简单的非分层列表或图标集合的形式显示存储在模型中的项。该类用于提供以前由 QListBox 和 QIconView 类提供的列表和图标视图,但是使用了 Qt 的模型/视图体系结构提供的更灵活的方法。原创 2023-06-12 18:30:00 · 1514 阅读 · 1 评论 -
Qt——Qt控件之容器-QTabWidget选项卡控件的使用总结(例程:Qt标题栏多页面切换 选项卡切换页面)
本次博文开始总结下Qt的QTabWidget选项卡控件,QTabWidget 继承 QWidget,提供了一组选项卡(多页面)小部件。 QTabWidget主要是用来分页显示的,每一页一个界面,众多界面公用一块区域,节省了界面大小,可以方便的为用户显示更多的信息,这个是比较常用的一个容器控件,有点像浏览器标签页面。原创 2023-06-09 19:45:00 · 2597 阅读 · 0 评论 -
Qt——Qt控件之容器-QToolBox工具盒控件的使用总结(例程:QToolBox+QGroupBox容器+QVBoxLayout布局+QToolButton按钮实现仿QQ好友列表功能)
本次博文开始总结下Qt的QToolBox工具盒控件,QToolBox 继承 QFrame,QToolBox 类提供了提供了一种列状的层叠窗体。QToolBox 显示的一列选项卡在另一列的上面,当前项的展开显示在当前选项卡的下面。每个选项卡在选项卡列中都有一个索引位置,选项卡的项是QWidget。原创 2023-06-07 20:30:00 · 1057 阅读 · 0 评论 -
Qt——Qt控件之容器-QScrollArea滚动区域控件的使用总结(例程:Qt滚动区域控件中添加图片 )
本次博文开始总结下Qt的QScrollArea滚动区域控件,QScrollArea 继承QAbstractScrollArea,滚动区域用于在框架中显示子部件的内容。如果小部件超过框架的大小,视图就会出现滚动条,以便可以查看子小部件的整个区域。原创 2023-06-07 11:36:36 · 1613 阅读 · 0 评论 -
Qt——Qt控件之容器-QGroupBox分组框控件的使用总结(例程:QVBoxLayout垂直布局+QGroupBox分组控件将多个单选按钮分组使用)
本次博文开始总结下Qt的QGroupBox分组框控件,QGroupBox 继承 QWidget, QGroupBox 为构建分组框提供了支持。分组框通常带有一个边框和一个标题栏,作为容器部件来使用,在其中可以布置各种窗口部件。布局时可用作一组同类控件的容器,内部通常使用布局控件(如QBoxLayout)进行布局。组框还提供键盘快捷方式,键盘快捷方式将键盘焦点移动到组框的一个子部件。原创 2023-06-02 21:15:00 · 1979 阅读 · 0 评论 -
Qt——Qt控件之布局管理-QFormLayout表单布局控件的使用总结(例程:Qt 用户名和密码输入表单布局界面,密码圆点显示)
本次博文开始总结下Qt的QFormLayout表单布局管理控件,QFormLayout 继承 QLayout,该类是管理输入小部件及其关联标签的表单。QFormLayout以两列的形式布局其子类。左列由标签组成,右列由“字段”小部件(QLineEdit(行编辑器)、 QSpinBox(旋转框等))组成。通常使用setRowWrapPolicy(RowWrapPolicy policy)接口函数设置布局的换行策略进行布局等。原创 2023-06-02 14:13:33 · 993 阅读 · 0 评论 -
Qt——Qt控件之布局管理-QGridLayout网格布局控件的使用总结(例程:Qt网格布局实现控件自动调整大小 )
本次博文开始总结下Qt的QGridLayout网格布局管理控件,QGridLayout继承QLayout。QGridLayout获取可用的空间(通过其父布局或parentWidget()),将其分为行和列,并将其管理的每个小部件放入正确的单元格中。由于网格布局管理器中的组件也是会随着窗口拉伸而发生变化的,所以也是需要设置组件之间的比例系数的,与QBoxLayout 不同的是网格布局管理器还需要分别设置行和列的比例系数。原创 2023-05-26 21:00:00 · 2715 阅读 · 0 评论 -
Qt——Qt控件之布局管理-QBoxLayout水平垂直布局控件的使用总结(例程:Qt 水平垂直布局实现)
本次博文通过做一个QBoxLayout的例程,总结了该控件的使用方法。基本思路就是先把要水平或垂直布局的控件加到QHBoxLayout或QVBoxLayout中,然后设置间距等需要的属性,最后在页面布局对应的Widget中设置布局为QHBoxLayout或QVBoxLayout。原创 2023-05-25 20:30:00 · 1952 阅读 · 0 评论 -
Qt——Qt控件之显示窗口-QTextBrowser文本浏览器控件的使用总结(例程:Qt打开文件显示在文本浏览器中)
本次博文总结下Qt显示窗口控件中QTextBrowser文本浏览器控件的使用方法。QTextBrowser 继承 QTextEdit(这个控件前面有博文总结过的),QTextBrowser 类提供了一个具有超文本导航的文本浏览器。该类扩展了 QTextEdit(在只读模式下),添加了一些导航功能,以便用户可以跟踪超文本文档中的链接。原创 2023-05-23 21:30:00 · 2078 阅读 · 0 评论 -
Qt——Qt控件之显示窗口-QProgressBar进度条控件的使用总结(例程:Qt电池充电进度效果实现)
本次博文总结下Qt显示窗口控件中QProgressBar进度条控件的使用方法。QProgressBar 继承 QWidget。 QProgressBar 小部件提供了一个水平或垂直的进度条,这个控件使用频次较高,可用于向用户显示操作的进度,并向他们确认应用程序仍在运行。原创 2023-05-23 20:30:00 · 1587 阅读 · 0 评论 -
Qt——Qt控件之显示窗口-QLCDNumber液晶数字控件的使用总结(例程:Qt液晶数显时钟表)
本次博文总结下Qt显示窗口控件中QLCDNumber液晶数字控件的使用方法。QLCDNumber 继承 QFrame,该小部件显示一个类似于 lcd 的数字,可以显示任意大小的十进制、十六进制、八进制或二进制数字。使用 display()插槽很容易连接到数据源,该插槽被重载以接受五种参数类型中的任何一种。原创 2023-05-19 20:45:00 · 1895 阅读 · 0 评论 -
Qt——Qt控件之显示窗口-QCalendarWidget日历控件的使用总结(例程:Qt日历显示设置选择)
本次博文总结下Qt显示窗口控件中QCalendarWidget日历控件的使用方法。QCalendarWidget 继承 QWidget,该类提供了一个基于月的日历小部件,允许用户选择日期。 CalendarWidget 小部件是用当前月份和年份初始化的, 它还提供了几个公共插槽来更改显示的年份和月份。原创 2023-05-19 20:15:00 · 1818 阅读 · 0 评论 -
Qt——Qt控件之显示窗口-QLabel标签控件的使用总结(例程:QLabel显示文本标签及图片)
本次博文开始总结下Qt的显示窗口控件,显示窗口控件种类也很多,这个系列博文中挑几个使用频次较高的控件进行总结,先说下QLabel标签控件,QLabel提供了一种用于文本或图像显示的小部件,在前面一些博文中已经出现并使用过Label控件,只用了它显示文本,其实它还可以用于显示图像。原创 2023-05-18 21:45:00 · 2775 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QSlider滑动条控件的使用总结(例程:水平和垂直滑动条互相关联,改变数值)
本次博文总结下Qt输入窗口控件中QSlider滑动条控件的使用方法。QSlider 继承 QAbstractSlider。 QSlider 类提供垂直或水平滑动条小部件,滑动条是用于控制有界值的典型小部件。它允许用户沿着水平或垂直凹槽移动滑块手柄,并将手柄的位置转换为合法范围内的整数值。原创 2023-05-16 21:00:00 · 1478 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QDial数字拨盘框控件的使用总结(例程:旋转码盘改变数值显示 )
本次博文总结下Qt输入窗口控件中Qial数字拨盘框控件的使用方法。QDial 类提供了一个圆形范围控制(如速度计或电位器),它可用于当用户需要在可编程定义的范围内控制一个值。由于QDial 从 QAbstractSlider 继承,因此拨号的行为与滑块类似。 当 wrapping()为 false(默认设置)时,滑块和刻度盘之间没有真正的区别。原创 2023-05-16 20:00:00 · 1126 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QDateTimeEdit日期时间编辑框控件的使用总结(例程:设置时间日期,弹出日期设置框 )
本次博文总结下Qt输入窗口控件中QDateTimeEdit日期时间辑框控件的使用方法。该控件允许用户使用键盘或箭头键编辑日期,以增加或减少日期和时间值。箭头键可用于在 QDateTimeEdit框中从一个区域移动到另一个区域。还有另外两个均继承QDateTimeEdit的控件在博文中一并演示,QDateEdit 用于编辑日期,QTimeEdit 用于编辑时间。原创 2023-05-16 19:30:00 · 2282 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QSpinBox数字微调框控件的使用总结(例程:调节程序窗体的不透明度 )
本次博文总结下Qt输入窗口控件中QSpinBox 数字微调框控件的使用方法。QSpinBox 继承 QAbstractSpinBox。用于处理整数和离散值(例如:月份名称),还有一个 QDoubleSpinBox 控件,用于处理浮点值,允许用户通过单击上/下按钮或按下键盘上的上/下按钮来选择一个值,以增加/减少当前显示的值。用户还可以手动输入值。本次博文仅总结下QSpinBox控件的用法,因为二者的区别就是处理数据的类型不同,其他功能都基本相同。原创 2023-05-16 19:00:00 · 926 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QPlainTextEdit纯文本编辑框控件的使用总结(例程:读取当前目录下的文件,读取文本流到文本浏览编辑器中 )
本次博文总结下Qt输入窗口控件中QPlainTextEdit 纯文本编辑框控件的使用方法。QPlainTextEdit 是一个支持纯文本的高级查看器/编辑器,它被优化为处理大型文档和快速响应用户输入。QPlainTextEdit类提供了一个用于编辑和显示纯文本的小部件,常用于显示多行文本或简单文本。原创 2023-05-10 20:30:00 · 1206 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QTextEdit文本编辑框控件的使用总结(例程:文本编辑输入)
本次博文总结下Qt输入窗口控件中QTextEdit文本编辑框控件的使用方法。QTextEdit 继承 QAbstractScrollArea,被 QTextBrowser 继承。 QTextEdit 是一个高级所见即所得查看器/编辑器,支持使用 html 样式的标记进行 rich text 格式化。它经过优化可以处理大型文档并快速响应用户输入。 QTextEdit 用于段落和字符。段落是格式化的字符串,它被字包装以适应小部件的宽度。在阅读纯文本时,默认情况下,一个换行表示一个段落。一份文件由原创 2023-05-08 20:45:00 · 1536 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QLineEdit单行编辑框控件的使用总结(例程:Qt单行文本编辑输入)
本次博文总结下Qt输入窗口控件中QLineEdit单行编辑框控件的使用方法。QLineEdit 继承 QWidget,其是一个单行文本编辑器,行编辑允许用户使用一组有用的编辑函数输入和编辑一行纯文本,包括撤消和重做、剪切和粘贴以及拖放。通过更改行编辑的echoMode(),它还可以用作“只写”字段,用于输入如密码等。原创 2023-04-28 21:00:00 · 1645 阅读 · 0 评论 -
Qt——Qt控件之输入窗口-QFontComboBox选择字体系列组合框控件的使用总结(例程:Qt实现选择不同字体)
本次博文通过做一个QFontComboBox控件设置字体的例程,总结了该控件的使用方法。在手机,电脑一些软件都有设置字体的功能,由用户自行选择,所以我们这个QFontComboBox 就可以应用于此种场合。原创 2023-04-27 21:30:00 · 1117 阅读 · 0 评论