![](https://img-blog.csdnimg.cn/direct/e9a43089826545ff86f62dbe4b50fcf0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《Qt Creator 编程技术实践》
文章平均质量分 91
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
微软技术分享
王瑞、LyShark 品牌创始人、微软C++领域最有价值专家、《灰帽黑客:攻守道》作者,CSDN博客专家、领军人物、2022年度博客新星Top5、2023年度博客之星Top24、北京赛道Top11、研究生赛道Top5,致力于研究Microsoft技术在信息安全领域的最佳实践,并在业内拥有超过10余年的行业研究经验。
展开
-
C++ Qt开发:QProcess进程管理模块
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QProcess`组件实现针对进程的控制管理等。当你在使用Qt进行跨平台应用程序开发时,经常需要与外部进程进行交互,这时就可以利用Qt的`QProcess`模块。`QProcess`模块提供了启动和控制外部进程的功能,能够执行外部命令、运行其他可执行文件,以及与外部进程进行通信。通过`QProcess`,可以方原创 2024-03-22 14:48:58 · 6314 阅读 · 68 评论 -
C++ Qt开发:QUdpSocket实现组播通信
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QUdpSocket`组件实现基于UDP的组播通信。组播是一种一对多的通信方式,允许一个发送者将数据报文发送到多个接收者,这些接收者通过共享相同的组播IP地址进行通信。在设置组播地址时需要注意,该范围被限制在`239.0.0.0~239.255.255.255`以内,这是预留给组播的地址范围。原创 2024-03-20 10:13:14 · 9286 阅读 · 32 评论 -
C++ Qt开发:QUdpSocket网络通信组件
与`QTcpSocket`组件功能类似,`QUdpSocket`组件是 Qt 中用于实现用户数据报协议(UDP,User Datagram Protocol)通信的类。UDP 是一种无连接的、不可靠的数据传输协议,它不保证数据包的顺序和可靠性,但具有低延迟和简单的特点。原创 2024-03-19 11:22:51 · 6895 阅读 · 29 评论 -
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。原创 2024-03-18 09:25:14 · 3555 阅读 · 29 评论 -
C++ Qt开发:QNetworkAccessManager网络接口组件
QNetworkAccessManager是Qt网络模块中的关键类,用于管理网络访问和请求。作为一个网络请求的调度中心,它为Qt应用程序提供了发送和接收各种类型的网络请求的能力,包括常见的GET、POST、PUT、DELETE等。这个模块的核心功能在于通过处理`QNetworkReply`和`QNetworkRequest`来实现与网络资源的交互。原创 2024-03-12 12:54:30 · 6969 阅读 · 61 评论 -
C++ Qt开发:QNetworkInterface网络接口组件
在Qt网络编程中,`QNetworkInterface`是一个强大的类,提供了获取本地网络接口信息的能力。通过`QNetworkInterface`,可以轻松地获取有关网络接口的信息,包括接口的名称、硬件地址、IP地址和子网掩码等。这个类对于需要获取本地网络环境信息的应用程序特别有用,例如网络配置工具、网络监控程序等。`QNetworkInterface`通过提供一致而易于使用的接口,使得网络编程中的任务更加简便和可靠。原创 2024-03-09 13:15:00 · 3333 阅读 · 32 评论 -
C++ Qt开发:QHostInfo主机地址查询组件
在Qt网络编程中,QHostInfo是一个强大而灵活的组件,用于获取有关主机的信息,包括主机名、IP地址和域名解析等。通过支持异步查询的机制,它能够在后台获取主机信息,避免阻塞主线程,同时通过信号-槽机制提供查询结果。其多主机查询、可靠的错误处理和与网络环境的适应性,使其成为处理网络应用中主机信息获取的理想选择。原创 2024-03-09 08:30:00 · 5358 阅读 · 9 评论 -
C++ Qt开发:QFileSystemWatcher文件监视组件
QFileSystemWatcher 是 Qt 框架中提供的一个类,用于监视文件系统中的文件和目录的变化。它允许你在文件或目录发生变化时接收通知,并可以用于监视文件的创建、删除、重命名以及内容修改等操作。这对于需要实时监控文件系统变化的应用程序是非常有用的。原创 2024-03-08 16:54:18 · 3918 阅读 · 6 评论 -
C++ Qt开发:QFileSystemModel文件管理组件
QFileSystemModel是Qt框架中的一个关键类,用于在Qt应用程序中管理和展示文件系统的结构。该模型提供了一个方便的接口,使得开发者可以轻松地在应用程序中集成文件和目录的树形结构,并通过视图组件(如。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用。运行后则可以通过点击不同的目录树展开,由于设置了只过滤特定的文件所以此处显示的结果如下所示;原创 2024-03-08 11:28:51 · 5741 阅读 · 16 评论 -
C++ Qt开发:运用QThread多线程组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QThread`组件实现多线程功能。原创 2024-03-06 11:41:29 · 3601 阅读 · 13 评论 -
C++ Qt开发:运用QJSON模块解析数据
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QJson`组件的实现对JSON文本的灵活解析功能。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,也易于机器解析和生成。该格式是基于JavaScript语言的一个子集,但它是一种独立于语言的数据格式,因此可以在许多不同的编程语言中使用。原创 2024-01-29 17:11:07 · 13296 阅读 · 30 评论 -
C++ Qt开发:Charts与数据库组件联动
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`Charts`组件与`QSql`数据库组件的常用方法及灵活运用。在之前的文章中详细介绍了关于`QCharts`绘图组件的使用方式,本章将继续延续这个知识点,通过使用`QSql`数据库模块动态的读取某一个时间节点上的数据,当用户点击查询数据时则动态的输出该事件节点的所有数据,并将数据绘制到图形组件内,实现动态查询图形的功原创 2024-01-06 15:54:50 · 6567 阅读 · 37 评论 -
C++ Qt开发:SqlRelationalTable关联表组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`SqlRelationalTable`关联表组件的常用方法及灵活运用。在上一篇文章中详细介绍了`SqlTableModle`组件是如何使用的,本篇文章将介绍`SqlRelationalTable`关联表组件,该该组件其实是`SqlTableModle`组件的扩展类,其提供了一个带关系的数据模型,用于处理数据库中的表与表原创 2023-12-29 15:07:41 · 14976 阅读 · 33 评论 -
C++ Qt开发:SqlTableModel映射组件应用
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`SqlTableModule`组件的常用方法及灵活运用。在多数情况下我们需要使用SQL的方法来维护数据库,但此方式相对较为繁琐对于表格等数据的编辑非常不友好,在`Qt`中提供了`QSqlTableModel`模型类,它为开发者提供了一种直观的方式来与数据库表格进行交互。通过使用该组件可以将数据库与特定的组件进行关联,一原创 2023-12-28 17:07:54 · 6942 阅读 · 21 评论 -
C++ Qt开发:TableView与TreeView组件联动
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TableView`与`TreeView`组件联动的常用方法及灵活运用。本章我们继续实现表格的联动效果,当读者点击`TableView`或`TreeView`中的某一行时,我们让其实现自动跟随功能,且当用户修改行中特定数据时也让其动态的跟随改变,首先绘制一个主界面如图,分别放置两个组件框,底部保留两个按钮,按钮1用于该原创 2023-12-27 15:33:51 · 13538 阅读 · 27 评论 -
C++ Qt开发:数据库与TableView多组件联动
在Qt中,通常我们不会在`TableView`等组件中保存数据,一般会将这些数据存储至数据库或者是文件中保存,当使用时则动态的在数据库中调出来,以下案例将实现,当用户点击并选中`TableView`组件内的某一行时,我们通过该行中的`name`字段查询,并将查询结果关联到`ListView`组件内,同时将`TableView`中选中行的字段分别显示在窗体底部的`LineEdit`编辑框内。原创 2023-12-26 19:53:03 · 5117 阅读 · 11 评论 -
C++ Qt开发:QSqlDatabase数据库组件
Qt SQL模块是Qt框架的一部分,它提供了一组类和函数,用于在Qt应用程序中进行数据库操作。这个模块的目标是简化数据库访问和操作,并提供一致的接口,使得开发者可以方便地与不同数据库系统进行交互。一般SQL组件常用的操作,包括读取数据、插入数在使用此模块时必须要引入对应文件,需要在`*.pro`文件内增加`QT += sql`,并在头文件内导入`QSqlDatabase`模块才可以正常使用,该模块是用于管理数据库连接的核心类之一。它提供了一系据、更新数据、删除数据功能,这四个功能我将分别介绍它是如何使用的。原创 2023-12-26 15:31:42 · 12895 阅读 · 15 评论 -
C++ Qt开发:Charts绘制各类图表详解
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TreeWidget`与`QCharts`的常用方法及灵活运用。在之前的文章中笔者介绍了如何使用`QCharts`模块来绘制简单的折线图并对通用API接口进行了概括,本章我们通过在`TreeWidget`组件中提取数据,并依次实现柱状图、饼状图、堆叠图、百分比图、散点图等。原创 2023-12-25 21:46:37 · 7996 阅读 · 19 评论 -
C++ Qt开发:Charts折线图绑定事件
在上一篇文章中笔者介绍了关于`QCharts`绘图组件的详细使用方法及接口,本章将继续为绘图组件绑定事件,通常在未绑定事件的图形上所有的元素都是被禁用状态的,我们无法直接操作这些功能,通过绑定图形组件事件将可以实现对图形的各种操作模式,例如可以控制图形的大小,控制线条的显示与消除等。原创 2023-12-24 19:32:49 · 13360 阅读 · 21 评论 -
C++ Qt开发:Charts折线图绘制详解
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts折线图的常用方法及灵活运用。折线图(Line Chart)是一种常用的数据可视化图表,用于展示随着时间、类别或其他有序变量而变化的趋势。折线图通过将数据点连接起来形成折线,直观地展示了变量之间的趋势和关系。在Qt中,可以使用图表库来创建折线图。原创 2023-12-23 15:49:38 · 7711 阅读 · 22 评论 -
C++ Qt开发:Charts绘图组件概述
Qt Charts 提供了一个强大且易于使用的工具集,用于在 Qt 应用程序中创建各种类型的图表和图形可视化,该模块提供了多种类型的图表,包括折线图、散点图、条形图、饼图等。这使得开发人员能够轻松地将数据以直观的方式呈现给用户,增强应用程序的可视化效果。原创 2023-12-22 20:16:26 · 13895 阅读 · 17 评论 -
C++ Qt开发:StandardItemModel数据模型组件
`QStandardItemModel` 是 Qt 中用于存储标准项数据的模型类之一,它继承自 `QAbstractItemModel` 类。这个模型提供了一种灵活的方式来组织和管理数据,适用于各种视图类(比如 `QTreeView`、`QListView`、`QTableView` 等)。该组件是标准的以项数据为单位的基于M/V模型的一种标准数据管理方式。原创 2023-12-22 08:41:08 · 5258 阅读 · 17 评论 -
C++ Qt开发:StringListModel字符串列表映射组件
`QStringListModel` 是 Qt 中用于处理字符串列表数据的模型类之一,它是 `QAbstractListModel` 的子类,用于在 Qt 的视图类(如 `QListView`、`QComboBox` 等)中显示字符串列表。该组件是用于在`Qt`中快速显示字符串列表的便捷模型类。该组件通常会配合`ListView`一起使用,例如将`ListView`组件与`Model`模型绑定,当`ListView`组件内有数据更新时,就可以利用映射将数据模型中的数值以字符串格式提取出来,同理也可实现将字符原创 2023-12-21 15:34:19 · 7346 阅读 · 11 评论 -
C++ Qt开发:StatusBar底部状态栏组件
`QStatusBar` 是 Qt 中用于在主窗口底部显示状态信息的部件。它通常用于向用户提供应用程序的当前状态、进度信息、或者其他与应用程序运行相关的消息。通过在状态栏上显示文本、永久部件、进度条等内容,可以为用户提供清晰的反馈和实时信息。在设计应用程序界面时,使用状态栏有助于提升用户体验。原创 2023-12-21 09:10:52 · 7536 阅读 · 4 评论 -
C++ Qt开发:TabWidget实现多窗体功能
`QTabWidget` 是Qt中用于实现标签页(tabbed interface)的控件,可以在一个窗口内切换不同的页面。在开发窗体应用时通常会伴随功能的分页,使用TabWidget并配合自定义Dialog组件,即可实现一个复杂的多窗体分页结构,此类布局方式也是多数软件通用的方案。原创 2023-12-20 15:18:23 · 8967 阅读 · 8 评论 -
C++ Qt开发:QItemDelegate自定义代理组件
在Qt中,`QStyledItemDelegate` 类是用于创建自定义表格视图(如`QTableView`和`QTableWidget`)的委托类,允许你自定义表格中每个单元格的外观和交互。`QStyledItemDelegate` 是`QItemDelegate` 的子类,提供了更现代、更易用的接口。此处我们将实现对`QTableView`表格组件的自定义代理功能,例如默认情况下表格中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是输入,此时就需要重写编辑框实现选择的效原创 2023-12-20 09:06:22 · 4738 阅读 · 9 评论 -
C++ Qt开发:TableWidget表格组件
`QTableWidget` 是 Qt 中用于显示表格数据的部件。它是 `QTableView` 的子类,提供了一个简单的接口,适用于一些不需要使用自定义数据模型的简单表格场景。该组件可以看作是`TreeWidget`树形组件的高级版,表格组件相比于树结构组件灵活性更高,不仅提供了输出展示二维表格功能,还可以直接对表格元素直接进行编辑与修改操作,表格结构分为表头,表中数据两部分,表格结构可看作一个二维数组,通过数组行列即可锁定特定元素。原创 2023-12-19 09:11:26 · 7984 阅读 · 22 评论 -
C++ Qt开发:MdiArea多窗体组件
QMdiArea(Multiple Document Interface Area)是Qt中用于创建多文档界面的组件。它提供了一种在单个窗口中管理多个文档的方式,每个文档通常是一个子窗口(`QMdiSubWindow`)。该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在父窗体中内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。原创 2023-12-19 09:03:11 · 5060 阅读 · 8 评论 -
C++ Qt开发:TreeWidget 树形选择组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TreeWidget`树形选择组件的常用方法及灵活运用。原创 2023-12-18 15:58:24 · 8436 阅读 · 21 评论 -
C++ Qt 开发:ListWidget列表框组件
`QListWidget` 是 Qt 中的一个列表框组件,用于显示一列项目,并允许用户进行选择。每个项目可以包含一个图标和文本,可以使用 `QListWidgetItem` 类来表示。`ListWidget`组件与`TreeWidget`有些相似,区别在于`TreeWidget`可以实现嵌套以及多字段结构,而`ListWidget`则只能实现单字段结构,该组件常用于显示单条记录,例如只显示`IP`地址,用户名等数据。原创 2023-12-18 08:58:00 · 6264 阅读 · 18 评论 -
C++ Qt开发:自定义Dialog对话框组件
自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过`GetValue()`来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体,这两种方式都可以,读者可根据自身需求来选择不同的通信方式。原创 2023-12-17 16:46:32 · 7306 阅读 · 24 评论 -
C++ Qt开发:标准Dialog对话框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍标准对话框`QInputDialog`、`QFileDialog `这两种对话框组件的常用方法及灵活运用。原创 2023-12-17 09:59:57 · 4638 阅读 · 13 评论 -
C++ Qt开发:Tab与Tree组件实现分页菜单
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`tabWidget`选择夹组件与`TreeWidget`树形选择组件,的常用方法及灵活运用。原创 2023-12-16 16:23:01 · 7205 阅读 · 13 评论 -
C++ Qt开发:ToolBar与MenuBar菜单组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`ToolBar`工具栏组件以及与之类似的`MenuBar`菜单栏组件的常用方法及灵活运用。原创 2023-12-16 09:35:38 · 5528 阅读 · 11 评论 -
C++ Qt开发:DateTime日期时间组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`QDateTime`日期与时间组件的常用方法及灵活运用。原创 2023-12-15 16:08:06 · 12850 阅读 · 8 评论 -
C++ Qt开发:ProgressBar进度条组件
ProgressBar(进度条)是在Qt中常用的用户界面组件之一,用于显示任务的完成进度。它通常以一个水平或垂直的条形图形式展示,表示任务已完成的比例。进度条组件提供了一种直观的方式来显示任务的进度,让用户清晰地了解任务的完成情况。其还可根据需要在水平或垂直方向上显示,以适应不同的界面布局。原创 2023-12-15 10:03:05 · 5122 阅读 · 12 评论 -
C++ Qt开发:ComboBox下拉组合框组件
在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。该组件提供了一种方便的方式让用户从预定义的选项中进行选择,一般来说`ComboBox`会以按钮的形式显示在界面上,用户点击按钮后,会弹出一个下拉列表,其中包含预定义的选项。当然`ComboBox`不仅局限于选择,也允许用户手动输入内容。原创 2023-12-14 15:04:02 · 14189 阅读 · 16 评论 -
C++ Qt开发:Slider滑块条组件
当涉及到C++ Qt开发中的`Slider`滑块条组件时,你可能会用到`QSlider`类。`QSlider`是一个用于选择整数值的控件,常用于调整范围内的数值,如音量、亮度等。在水平方向上的`Slider`通常被称为水平滑块(Horizontal Slider),而在垂直方向上的Slider被称为垂直滑块(Vertical Slider)。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效原创 2023-12-14 08:49:57 · 5571 阅读 · 6 评论 -
C++ Qt开发:CheckBox多选框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`CheckBox`单行输入框组件的常用方法及灵活运用。`QCheckBox` 是 Qt 中用于实现复选框的组件,它提供了丰富的功能和灵活性。与之前文章中的`RadioButton`组件不同,`CheckBox`组件支持多项选择以及三态支持,即可以是选中、未选中或半选中的状态。原创 2023-12-13 16:26:29 · 13564 阅读 · 17 评论 -
C++ Qt开发:RadioButton单选框分组组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`QRadioButton`单选框组件以及与之交互的`QButtonGroup`类的常用方法及灵活运用。原创 2023-12-13 08:52:02 · 5310 阅读 · 9 评论