
Qt
文章平均质量分 80
Qt 是由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。
wendy_ya
控制类专业在读研究生
展开
-
Qt实战案例(60)——利用QTimer类实现实时时间功能
本文介绍利用QTimer类实现实时时间功能并在状态栏中进行显示。原创 2024-09-19 21:27:03 · 593 阅读 · 0 评论 -
Qt实战案例(59)——利用QTimer类实现定时器功能
本文介绍利用QTimer类实现定时器的定时功能。QTimer还提供了一个简单的只有一次定时的函数singleShot()。一个定时器在100ms后触发处理函数animateTimeout()并且只触发一次。原创 2022-09-20 21:16:30 · 2699 阅读 · 0 评论 -
Qt实战案例(58)——利用QObject类实现定时器功能
本文主要介绍利用QObject类实现定时器的定时功能。QObject是所有Qt对象的基类,它提供了一个基本的定时器。通过,可以把一个1毫秒为单位的时间间隔作为参数来开始定时器,这个函数返回一个唯一的整数定时器的标识符。这个定时器开始就会在每一个时间间隔"触发",直到明确的使用这个定时器的标识符来调用QObject::killTimer()结束。当定时器触发时,应用程序会发送一个。在事件循环中,处理器按照事件队列的顺序来处理定时器事件。当处理器正忙于其它事件处理时,定时器就不能立即处理。原创 2022-09-20 20:48:54 · 1740 阅读 · 0 评论 -
Qt实战案例(57)——实现Qt防止程序启动两次功能
本文介绍利用Qt实现防止程序启动两次的方法。为了使QT 能保证只创建一个实例来进行, 对windows和linux分别采取了全局互斥变量和文件锁的方法。Q_OS_WIN32宏用来表示编译运行的目标平台是windows操作系统,Q_OS_LINUX则表示目标为linux操作系统。原创 2022-09-20 20:04:24 · 1799 阅读 · 0 评论 -
Qt实战案例(56)——利用QProcess实现应用程序重启功能
本文介绍利用QProcess实现应用程序重启功能。实现应用程序重启功能在Qt中实现非常简单,需要用到QProcess类一个静态方法。原创 2022-07-31 17:01:42 · 2007 阅读 · 2 评论 -
Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹
本文介绍利用QDir删除选定文件目录下的所有空文件夹。原创 2022-07-31 16:32:58 · 1111 阅读 · 0 评论 -
Qt实战案例(54)——利用QPixmap设计图片透明度
本文介绍利用QPixmap设计图片透明度,可以看到拖动下方进度条,用于控制上方图片的透明度。原创 2022-07-31 11:17:29 · 2591 阅读 · 2 评论 -
Qt实战案例(53)——利用QDrag实现拖拽拼图功能
本文介绍利用QDrag类实现拖拽拼图功能。左边是打散的图,拖动到右边进行复现,此外程序还支持手动拖入原图片。原创 2022-07-24 17:33:07 · 2311 阅读 · 1 评论 -
Qt实战案例(52)——利用Qt实现打开最近图片功能(利用QPushButton按钮实现)
上文【Qt实战案例(51)——利用Qt实现打开最近图片功能】和上上文【Qt实战案例(50)——利用Qt实现打开最近文档功能】分别介绍了利用菜单栏action实现打开最近图片功能和打开最近文档功能,并在菜单栏显示最近图片和最近文档名称。本文将介绍利用按钮QPushButton实现打开最近图片功能并在按钮上显示图片名称。本文介绍利用QPushButton按钮和QButtonGroup按钮组实现打开最近图片功能。(存储在QSettings中)。...原创 2022-06-14 16:13:20 · 968 阅读 · 0 评论 -
Qt实战案例(51)——利用Qt实现打开最近图片功能
本文介绍利用Qt和QSettings实现打开最近图片功能。新建一个Qt案例,项目名称为“RecentPhotoTest”,基类选择“QMainWindow”,取消选中创建UI界面复选框,完成项目创建。无UI界面。原创 2022-06-13 21:15:05 · 659 阅读 · 0 评论 -
Qt实战案例(50)——利用Qt实现打开最近文档功能
本文介绍利用Qt实现打开最近文档功能,并实现基本的新建、打开、保存、退出、帮助等功能。新建一个Qt案例,项目名称为“RecentTest”,基类选择“QMainWindow”,取消选中创建UI界面复选框,完成项目创建。无UI界面....原创 2022-06-13 16:29:04 · 2224 阅读 · 1 评论 -
Qt实战案例(49)——利用QPainter实现三维饼状图的绘制
本文介绍利用QPainter实现三维饼状图的绘制,由于Qt中没有三维饼状图的绘制组件,因此只能自行绘制。原创 2022-06-05 16:14:01 · 1125 阅读 · 0 评论 -
Qt实战案例(48)——利用QProcess获取计算机硬件信息
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍本文介绍利用QProcess获取计算机的CPU、主板、硬盘等电脑相关硬件信息。windows提供了“wmic”(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。可以打开cmd在其中输入如下命令,获取相关的信息。//获取cpu名称wmic cpu get原创 2022-05-25 18:34:53 · 1647 阅读 · 2 评论 -
Qt实战案例(47)——利用QSettings读写ini配置文件
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 main.cpp源文件五、效果演示一、项目介绍本文介绍利用QSettings实现Qt读写ini配置文件。二、项目基本配置新建一个Qt案例,项目名称为“IniTest”,基类选择“QWidget”,取消选中创建UI界面复选框,完成项目创建。三、UI界面设置无UI界面四、主程序实现4.1 main.cpp源文件首先定义写ini配置文件函数:// 写ini配置文件void setIni(){ QSettings原创 2022-05-24 17:07:32 · 1851 阅读 · 0 评论 -
Qt实战案例(46)——利用QTableWidget实现表格控件应用
在文章(Qt实战案例(26)——利用QTableView表格视图实现右击菜单删除功能)中介绍了利用QTableView表格视图和QStandardItemModel模型类实现右击菜单删除的事件过滤效果。QTableView组件和QTableWidget组件的区别如下:由于QTableView组件相对QTableWidget组件来说只是不具备编辑功能,其他功能保持一致,QTableView组件支持与数据库建立映射关系,如果表格无需更新则最好可以使用QTableView组件。本文将介绍利用QTableWidg原创 2022-05-13 20:47:44 · 4529 阅读 · 1 评论 -
Qt实战案例(45)——利用QPushButton实现按钮长按事件
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示六、拓展——关于pressed、clicked、toggled和released信号的区别一、项目介绍本文介绍对button按钮添加一个长按事件(比如点击按钮,开始运动。松开按钮,运动停止)。主要用到的是setAutoRepeat函数。二、项目基本配置新建一个Qt案例,项目名称为“ButtonTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成原创 2022-05-01 11:22:30 · 10869 阅读 · 2 评论 -
Qt实战案例(44)——利用QPainter实现自定义圆形进度条
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 roundprogressbar.h和roundprogressbar.cpp4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍本文介绍利用QPainter实现自定义圆形进度条。二、项目基本配置新建一个Qt案例,项目名称为“RoundprogressbarTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设置UI界面如下:为简单起见,这里只设原创 2022-04-24 11:25:16 · 2234 阅读 · 4 评论 -
Qt实战案例(43)——利用QPainter实现自定义加载中动画控件(Loading.gif)
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 Loading.h和Loading.cpp4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍在Photoshop介绍:PhotoShop简单案例(4)——利用ps制作正在加载中动画(loading.gif)中介绍了一下利用Photoshop制作加载中动画(Loading.gif),可以在Qt中直接调用这个动图,但是毕竟不太方便,因此为了简洁,本文不使用图片,仅仅利用代码实现Loading加载中动画原创 2022-04-24 10:32:49 · 4110 阅读 · 1 评论 -
Qt实战案例(42)——利用Qt实现自定义标题栏功能(自定义最大化、最小化、关闭等功能)
一、项目介绍(为什么要自自定义标题栏功能)无论是使用qtdesigner,还是直接在程序中创建一个Qwidget,qt程序生成的界面都会生成一个默认的标题栏。该标题栏实质上应当是一个边框,只不过这个边框上可以显示ico,标题,可以进行最大化最小化等操作。标题栏的颜色随计算机系统的主题变化,且形式固定,如果为界面设置统一的背景和风格,这个标题栏就会非常的突兀,丑陋。因此,如果想要获得一个和谐的统一的UI界面,我们最好把系统生成的默认标题栏去掉,自己重现默认标题栏附带的功能。默认标题栏,在统一背景下显原创 2022-04-15 17:31:28 · 10522 阅读 · 6 评论 -
Qt实战案例(25)(序)——利用QSQL相关类实现对SQLite数据库的增删改查操作的详细介绍
上文Qt实战案例(25)——利用QSQL相关类实现对SQLite数据库的增删改查操作介绍了利用SQLite数据库的基本操作和利用QSQL对数据库进行增删改查的基本操作,本文再次基础上对其进行更加详细的介绍。目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 pro文件4.2 main.cpp文件1.建立数据库2.打开数据库3.关闭数据库4.操作数据库例1:创建表格例2:插入数据例3:修改数据例4:查询数据例5:删除与清空五、效果演示一、项目介绍利用Qt对SQLite数据库完成数据的增原创 2022-04-10 10:19:09 · 564 阅读 · 0 评论 -
Qt第三方日志库QsLog基本语法介绍
目录一、QsLog使用的基本步骤1.1 初始化1.2 设置日志输出目的地1.2.1 输出到文件:1.2.2 输出到控制台stdout:1.2.3 输出到处理函数:1.2.4 输出到Qt界面(如QTextEdit):1.3 打印日志1.4 销毁QsLog二、设置打印行号三、日志级别一、QsLog使用的基本步骤1.1 初始化首先需要初始化QsLog:Logger& logger = Logger::instance();然后可以选择设置日志级别:logger.setLoggingLevel原创 2022-03-22 18:33:37 · 3024 阅读 · 0 评论 -
Qt中第三方日志库QsLog的基本配置和使用详解
目录一、QsLog基本介绍二、QsLog的使用方法2.1 方法一——在Mingw编译器中的编译和使用2.2 方法二——在Visual Studio编译器中的使用三、项目基本配置四、UI界面设计五、主程序实现5.1 widget.h5.2 widget.cpp六、效果演示一、QsLog基本介绍qslog的下载地址:https://github.com/victronenergy/QsLog。QsLog是一个基于Qt的QDebug类的易于使用的记录器。QsLog是在麻省理工学院许可下以开源形式发布的。Q原创 2022-03-22 17:11:58 · 8530 阅读 · 6 评论 -
Qt进阶案例(2)——利用Qt Creator将ui界面程序封装成dll库
上文(Qt进阶案例(1)——利用Visual Studio将Qt的ui界面程序封装成dll库详解)介绍了利用Visual Studio将Qt的ui界面封装成dll库,本文将介绍如何利用Qt Creator将ui界面封装成dll库,其本质都是相同的。目录1、新建Qt Class Library2、新建ui界面3、修改头文件并编译4、新建第二个项目5、编辑程序6、效果演示1、新建Qt Class Library在Qt Creator中新建一个Qt Class Library(C++库),如下:选择需要原创 2022-03-12 21:24:30 · 5671 阅读 · 4 评论 -
Qt进阶案例(1)——利用Visual Studio将Qt的ui界面程序封装成dll库详解
目录1、新建Qt Class Library2、新建ui界面3、添加项目4、修改头文件并编译5、新建第二个项目6、编辑程序7、效果演示1、新建Qt Class Library先建一个Qt Class Library,如下:2、新建ui界面新建一个ui界面,以Dialog为例,如下:在ui界面上输入想输入的内容,例如:【注】:由于Qt Creator搭建ui界面比Visual Studio更加方便,因此这里建议在QtCreator上建完ui界面,布局如下:然后将文件保存,将.h文件、.原创 2022-03-11 21:51:37 · 4518 阅读 · 4 评论 -
Qt实战案例(41)——利用QWinTaskbarButton和QWinTaskbarProgress类实现任务栏进度条的显示
目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 pro文件4.2 widget.h头文件4.3 widget.cpp源文件五、效果演示一、项目介绍任务栏进度条是Windows7就引入的一种UI形式,通常用于显示软件当前正在执行的任务的进度(如编译程序的进度、下载任务的进度)。如下:本文主要介绍利用QWinTaskbarButton和QWinTaskbarProgress类实现任务栏进度条的显示。二、项目基本配置新建一个Qt案例,项目名称为“TaskbarTest”,基类选择原创 2022-03-11 21:01:18 · 2108 阅读 · 0 评论 -
Qt6问题——Unknown module(s) in QT: axcontainer
一、问题描述安装完Qt6运行之前的Qt5代码时,遇到一个问题:Unknown module(s) in QT: axcontainer二、解决方案经过几天的查阅资料,终于找到原因:Qt6.0还真的没有把该模块放入可装模块去。据说是因为这个模块是GPL的,Qt6.1会提供这个模块,所以卸载Qt6.0.x,重新安装Qt6.1.x即可。记录一下这几天的努力查找,如果对你有所帮助,记得点个赞哟~参考链接:https://bbs.youkuaiyun.com/topics/398571050?list=6381原创 2022-03-08 12:51:00 · 8174 阅读 · 10 评论 -
Qt实战案例(40)——利用QSharedMemory类实现进程间通信的功能
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QSharedMemory类实现进程间通信,使用共享内存,它实现的功能是:先将一张图片写入到共享内存段中,然后再从共享内存段读出该图片。二、项目基本配置新建一个Qt案例,项目名称为“IPCTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中创建了3个控件,其名称和类型如下原创 2022-02-28 17:54:24 · 1705 阅读 · 0 评论 -
Qt实战案例(39)——利用QProcess类实现启动进程的功能(进阶)
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QProcess类实现启动进程的功能进阶(以dos命令dir为例)。二、项目基本配置新建一个Qt案例,项目名称为“ProcessTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中只创建了1个控件,其名称和类型如下:序号名称类型属性①pbn_p原创 2022-02-28 14:12:38 · 2591 阅读 · 0 评论 -
Qt实战案例(38)——利用QProcess类实现启动进程的功能
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QProcess类实现启动进程的功能(以记事本程序为例)。二、项目基本配置新建一个Qt案例,项目名称为“ProcessTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中只创建了1个控件,其名称和类型如下:序号名称类型属性①pbn_proces原创 2022-02-28 09:45:36 · 1244 阅读 · 0 评论 -
Qt中第三方日志库log4cplus的基本配置和使用详解
目录一、log4cplus基本介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 程序基本配置4.2 main.cpp一、log4cplus基本介绍上文C++第三方日志库log4cplus的安装与使用超详解C++第三方日志库log4cplus基本语法介绍中分别对log4cplus的安装和使用进行了详细介绍,本文将不再进行介绍,本文使用的相关文件是第一篇文章中生成的三个文件,如下图所示。二、项目基本配置新建一个Qt案例,项目名称为“LogProject”,选择MSVC 64bit k原创 2022-02-26 13:13:02 · 4331 阅读 · 0 评论 -
Qt中第三方日志库Glog的基本配置和使用详解
目录一、Glog基本介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 程序基本配置4.2 main.cpp一、Glog基本介绍上文C++第三方日志库Glog的安装与使用超详解C++第三方日志库Glog基本语法介绍中分别对Glog的安装和使用进行了详细介绍,本文将不在进行介绍,本文使用的相关文件是第一篇文章中生成的三个文件夹,如下图所示。二、项目基本配置新建一个Qt案例,项目名称为“GlogProject”,选择MSVC 64bit kit编译器,基类选择“QWidget”,取消选原创 2022-02-21 18:43:41 · 3894 阅读 · 1 评论 -
Qt实战案例(37)——利用Qt实现为控件添加右键菜单的功能
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用Qt实现为控件添加右键菜单的功能(以PushButton控件为例)。二、项目基本配置新建一个Qt案例,项目名称为“MenuTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中只创建了1个控件,其名称和类型如下:序号名称类型属性①pushButt原创 2022-02-18 12:38:11 · 5703 阅读 · 1 评论 -
Qt实战案例(36)——利用QImage类实现对图像的基本操作(图像显示、图像缩放、图像旋转)
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QImage类实现对图像的基本操作,包括图像显示、图像缩放、图像旋转等。二、项目基本配置新建一个Qt案例,项目名称为“ImageTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。原创 2022-02-12 21:45:15 · 6189 阅读 · 0 评论 -
Qt实战案例(35)——利用QScreen类相关操作实现截屏操作
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QScreen类相关操作实现截屏操作,并将截屏保存为png文件。二、项目基本配置新建一个Qt案例,项目名称为“ScreenTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面如下:界面中只创建了一个控件,其名称和类型如下:序号名称类型属性①PushButton原创 2022-02-12 14:43:59 · 3573 阅读 · 0 评论 -
Qt实战案例(34)——利用QImage类实现对图像的简单处理(显示图像、灰度化处理)
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍利用QImage类实现对图像的简单处理,包括显示图像、灰度化处理等。二、项目基本配置新建一个Qt案例,项目名称为“ImageTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中创建了3个控件,其名称和类型如下:序号名称类型属性①ChooseQPu原创 2022-02-07 16:41:44 · 4676 阅读 · 0 评论 -
Qt实战案例(33)——利用QThread类实现简单多线程案例循环打印数字
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 dialog.h头文件4.2 dialog.cpp源文件4.3 workthread.h头文件4.4 workthread.cpp源文件五、效果演示一、项目介绍利用QThread类实现简单多线程案例循环打印数字0~9,直到单击“停止”按钮终止所有线程为止。二、项目基本配置新建一个Qt案例,项目名称为“ThreadTest”,基类选择“QDialog”,取消创建UI界面复选框的选中状态,完成项目创建。然后新建一个C++ class类原创 2022-01-25 18:38:45 · 1406 阅读 · 0 评论 -
Qt实战案例(32)——利用network相关类设计简单文件下载器实现HTTP通信
一、项目介绍利用network相关类(QNetworkReply、QNetworkAccessManager)实现简单文件下载器功能。二、项目基本配置新建一个Qt案例,项目名称为“DownloadTest”,基类选择“QDialog”,取消选中创建UI界面复选框,完成项目创建。三、UI界面设计无UI界面四、主程序实现原创 2022-01-25 13:32:16 · 1208 阅读 · 0 评论 -
Qt实战案例(31)——利用network相关类设计简单网页浏览器实现HTTP通信
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 mainwindow.h4.2 mainwindow.cpp五、效果演示一、项目介绍利用network相关类(QNetworkReply、QNetworkAccessManager)实现简单网页浏览器功能。二、项目基本配置新建一个Qt案例,项目名称为“HTTPTest”,基类选择“QMainWindow”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:界面中创建了3个控件,其名称和类型如下:原创 2022-01-24 21:49:01 · 1010 阅读 · 0 评论 -
Qt实战案例(30)——利用QUdpSocket类实现UDP网络广播通信
目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.0 pro文件4.1 server.h头文件4.2 server.cpp源文件4.3 client.h头文件4.4 client.cpp源文件五、效果演示一、项目介绍利用QUdpSocket类实现UDP网络广播通信,其原理如下图所示。UDP的工作原理是:UDP客户端向UDP服务器发送一定长度的请求报文,报文大小的限制与各系统的协议实现有关,但不得超过其下层IP规定的64KB;UDP服务器同样以报文形式做出响应。如果服务器未收到此请求,原创 2022-01-23 13:51:56 · 3815 阅读 · 3 评论 -
Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)
目录一、项目介绍二、项目基本配置三、UI界面设计四、连接数据库模块五、添加记录功能六、完整代码七、效果演示一、项目介绍结合SQL数据库、XML以及TableView相关知识,展示汽车制造商与汽车的关系。当在汽车制造商表中选中某个制造商时,下面的汽车表中将显示该车的车型和制造商的详细信息,车型的相关信息存储在XML文件中。二、项目基本配置新建一个Qt案例,项目名称为“CarTest”,基类选择“QMainWindow”,点击选中创建UI界面复选框,完成项目创建。三、UI界面设计UI界面布局如下:原创 2022-01-22 19:08:58 · 1444 阅读 · 0 评论