![](https://i-blog.csdnimg.cn/direct/7ac38dc661484b3fb8277a144681a2f3.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
QT基础
文章平均质量分 92
主要参考《Qt 5.9 C++开发指南》与Qt帮助文档。以Qt5.15.2为例,介绍Qt ++ 开发应用程序所需的基本技术
嵌入式_晚风
道阻且长,行则将至。行而不辍,未来可期。
展开
-
Qt基础 | Qt 中 pro 文件常用宏说明
用作记录!转载 2024-08-01 11:33:50 · 55 阅读 · 0 评论 -
Qt基础 | 多语言界面设计
有些软件需要开发多语言界面版本,如中文版和英文版,并且在软件里可以方便地切换界面语言。Qt 为多语言界面提供了很好的支持,使用 Qt 的一些规则和工具,可以很方便地为应用程序开发提供多语言界面支持。Qt 开发多语言界面应用程序的步骤在程序设计阶段,程序代码中每一种用户可见的字符串都用 tr() 函数封装,以便 Qt 提取界面字符串用于生成翻译资源文件。用 Ul 设计器可视化设计窗体时统一用一种语言,如汉语。在项目配置文件(.pro文件),设置需要导出的翻译文件(.ts文件)名称使用lupdate。原创 2024-07-31 14:34:37 · 900 阅读 · 0 评论 -
Qt基础 | 基于HTTP协议的网络文件下载
Qt 网络模块提供一些类实现 OSI 7层网络模型中高层的网络协议,如:HTTP、FTP、SNMP等,这些类主要是 QNetworkRequest、QNetworkReply 和 QNetworkAccessManager。原创 2024-07-30 20:36:11 · 835 阅读 · 0 评论 -
Qt基础 | UDP通信 | UDP单播、广播、组播的介绍与实现
UDP(用户数据报协议)是轻量的、不可靠的、面向数据报、无连接的协议,它可以用于对可靠性要求不高的场合。与 TCP 通信不同,两个程序之间进行 UDP 通信无需预先建立持久的 socket 连接,UDP 每次发送数据报都需要指定目标地址和端口。QUdpSocket 类用于实现 UDP 通信,它从 QAbstractSocket 类继承,因而与 QTcpScoket 共享大部分的接口函数。主要区别是 QUdpSocket 以数据报传输数据,而不是以连续的数据流。原创 2024-07-30 20:11:05 · 1363 阅读 · 0 评论 -
Qt基础 | TCP通信 | TCP服务端与客户端程序设计 | QTcpServer | QTcpSocket
TCP 是一种被大多数 Internet 网络协议(如 HTTP 和 FTP) 用于数据传输的低级网络协议,它是可靠的、面向流 、面向连接的传输协议,特别适合用于连续数据传输。TCP 通信必须先建立 TCP 连接,通信端分为客户端和服务器端。Qt 提供 QTcpSocket 类和 QTcpServer 类用于建立 TCP 通信应用程序。服务器端程序必须使用 QTcpServer 用于端口监听,建立服务器;QTcpSocket 用于建立连接后使用套接字(Socket)进行通信。QTcpServer。原创 2024-07-30 20:07:19 · 1207 阅读 · 0 评论 -
Qt基础 | 主机信息查询 | QHostInfo的介绍和使用 | QNetworkInterface的介绍和使用
Qt 网络模块提供用于编写 TCP/IP 客户端和服务器端程序的各种类,如用于 TCP 通信的 QTcpSocket 和 QTcpServer,用于 UDP 通信的 QUdpSocket,还有用于实现 HTTP、FTP等普通网络协议的高级类如:QNetworkRequest、QNetworkReply 和 QNetworkAccessManager。Qt 网络模块还提供用于网络代理、网络承载管理的类,提供基于安全套接字层(SSL)协议的安全网络通信的类。原创 2024-07-30 20:01:57 · 1129 阅读 · 0 评论 -
Qt基础 | 多线程编程 | QThread | 线程同步 | QMutex | QMutexLocker | QReadWriteLock | QwaitCondition | QSemaphore
一个应用程序一般只有一个线程,一个线程内的操作是顺序执行的,如果有某个比较消耗时间的计算或操作, 如网络通信中的文件传输,在一个线程内操作时, 用户界面就可能会冻结而不能及时响应。这种情况下,可以创建一个单独的线程来执行比较消耗时间的操作,并与主线程之间处理好同步与数据交互,这就是多线程应用程序。Qt 为多线程操作提供了完整的支持。QThread 是线程类,是实现多线程操作的核心类,一般从 QThread 继承定义自己的线程类。原创 2024-07-27 21:53:19 · 696 阅读 · 0 评论 -
Qt基础 | 创建和使用静态链接库 | 创建和使用动态链接库
这一节介绍 Qt 编写和使用静态链接库和共享库(动态链接库)的方法。原创 2024-07-26 15:24:47 · 1859 阅读 · 0 评论 -
Qt基础 | 自定义界面组件 | 提升法 | 为UI设计器设计自定义界面组件的Widget插件 | MSVC2019编译器中文乱码问题
当 Qt 提供的界面组件不满足实际设计需求时,可以从 QWidget 继承自定义界面组件。一种是提升法,将 Qt 提供的 UI 组件提升为自定义的类,提升法用于界面设计时不够直观,不能再界面上即可显示自定义组件的效果另一种是为 UI 设计器设计自定义界面组件的 Widget 插件,直接安装到 UI 设计器的组件面板里,这种方法在设计时就能看到组件的实际显示效果,只是在编译和运行时需要使用到插件的动态链接库(Windows平台上)。原创 2024-07-26 15:19:36 · 1178 阅读 · 0 评论 -
Qt基础 | QSqIRelationalTableModel 的使用
QSqIRelationalTableModel 类专门用来编辑这种具有代码字段的数据表,可以很方便地将代码字段与关系数据表建立关系,在显示和编辑数据表时,直接使用关系表的代码意义字典的内容。原创 2024-07-25 12:55:52 · 1096 阅读 · 0 评论 -
Qt基础 | QSqlQueryModel 的使用 | QSqlQuery的使用
QSqlQueryModel 是 QSqlTableModel 的父类。QSqlQueryModel 封装了执行 SELECT 语句从数据库查询数据的功能。QSqlQueryModel 通过设置 SELECT 语句查询获取数据库的内容,但是 QSqlQueryModel 只能作为只读数据源使用,不可以编辑数据。QSqlQueryModel 可以查询数据并作为数据模型,实现数据的显示,QSqlQuery 可以执行 UPDATE、INSERT、DELETE 等 SQL 语句实现数据的编辑修改。原创 2024-07-25 12:51:22 · 1210 阅读 · 1 评论 -
Qt基础 | QSqlTableModel 的使用
QSqlTableModel 直接设置一个数据表的名称,可以获取数据表的全部记录 ,其结果是可编辑的,设置为界面上的 QTableView 组件的数据模型后就可以显示和编辑数据。原创 2024-07-24 19:42:49 · 1063 阅读 · 1 评论 -
Qt基础 | Qt SQL模块介绍 | Qt SQL模块常用类及其常用函数介绍
Qt SQL 模块提供数据库编程的支持,Qt 支持多种常见的数据库,如MySQL、Oracle、MS SQL Server、SQLite 等。Qt SQL 模块包括多个类,可以实现数据库连接、SQL 语句执行、数据获取与界面显示等功能,数据与界面之间使用 Mode /View 架构,从而可以方便实现数据的界面显示操作。QT += sql这样会将 Qt SQL 模块中的所有类都包含进去 ,如果只使用其中的某些类 ,为避免冗余可以单独包含某个类。原创 2024-07-24 19:37:45 · 1534 阅读 · 1 评论 -
Qt基础 | QChart图表的组成 | QChartView设置 | QLineSeries设置 | QValueAxis设置 | 绘制折线图
Qt Charts模块是一组易于使用的图表组件,它基于 Qt 的 Graphics View 架构,其核心组件是QChartView 和 QChart。QChartView 的父类 QGraphicsView,就是 Graphics View 架构中的视图组件,所以, QChartView 是用于显示图表的视图。QChart 的继承关系如下所示,可以看到,QChart 是从 QGraphicsltem 继承而来的 ,所以QChart 是一种图形项。原创 2024-07-22 20:09:48 · 1380 阅读 · 0 评论 -
Qt基础 | QPainter绘制基本图像 | 坐标变换函数 | 视口与窗口 | 叠加模式
绘图设备的物理坐标是基本的坐标系,通过 QPainter 的平移 、旋转等变换可以得到更容易操作的逻辑坐标。QPainter 提供了视口(Viewport) 和窗口 (Window) 坐标系,通过 QPainter 内部的坐标变换矩阵自动转换为绘图设备的物理坐标。视口表示绘图设备的任意一个矩形区域的物理坐标 ,可以只选取物理坐标的一个矩形区域用于绘图。默认情况下,视口等于绘图设备的整个矩形区。窗口与视口是同一个矩形,只不过是用逻辑坐标定义的坐标系。原创 2024-07-21 15:52:39 · 1034 阅读 · 0 评论 -
Qt基础 | 文本文件的读写 | 二进制文件读写 | 文件目录操作类
保存为一个stm文件的过程:首先,通过文本对话框选择一个保存(写入)文件{ //以Qt预定义编码保存数据文件QString aFileName=QFileDialog::getSaveFileName(this,tr("选择保存文件"),curPath,"Qt预定义编码数据文件(*.stm)");return;//if (saveDataAsStream(aFileName)) //保存为流数据文件QMessageBox::information(this,"提示消息","文件已经成功保存!原创 2024-07-20 16:33:02 · 1149 阅读 · 0 评论 -
Qt基础 | Qt全局定义 | qglobal头文件中的数据类型、函数、宏定义
为了确保在各个平台上各数据类型都有统一确定的长度,Qt为各种常见数据类型定义了类型符号。#ifdefined# endif#else#endifqreal缺省是8字节 double 类型浮点数 ,如果 Qt 使用 -qreal float 选项进行配置,就是4字节 float 类型的浮点数。QtGlobal头文件定义了很多宏,常用的宏如下:QT_VERSIONQT_VERSION宏是一个预处理器指令,它提供了一种检查当前编译环境中 Qt 版本的方法。原创 2024-07-16 11:02:52 · 964 阅读 · 0 评论 -
Qt基础 | Qt核心特点 | 元对象系统 | 属性系统 | 信号与槽
Qt 提供一个Q_PROPERTY()宏可以定义属性,它是基于元对象系统实现的。Qt的属性系统与C++ 编译器无关,可以用任何标准的 C++ 编译器编译定义了属性的 Qt C++程序。[CONSTANT][FINAL]Q_PROPERTY宏定义属性的一些主要关键字的意义READ 指定一个读取属性值的函数,没有 MEMBER关键字时必须设置 READWRITE指定一个设定属性值的函数,只读属性没有WRITE设置。原创 2024-07-15 10:08:46 · 723 阅读 · 0 评论 -
Qt基础 | Qt Creator的基本介绍与使用 | 在Visual Studio中创建Qt项目
Qt Creator的基本介绍与使用 | 在Visual Studio中创建Qt项目原创 2024-07-11 20:41:24 · 1775 阅读 · 0 评论 -
Qt基础 | QT5.15.2与VS2019安装及配置
Qt5.15.2与VS2019的安装与配置原创 2024-02-26 23:29:29 · 8295 阅读 · 10 评论