2023-12-05 Qt学习总结 (AI辅助) 未完待续

news2025/5/21 14:16:48

点击 <C 语言编程核心突破> 快速C语言入门


Qt学习总结

  • 前言
  • 一 Qt是什么
  • 二 Qt开发工具链
  • 三 Qt编程涉及的术语和名词
  • 四 Qt Creator使用
  • 五 hello Qt!
  • 六 Qt控件和事件
  • 七 Qt信号和槽
  • 八 Qt自定义信号和槽
  • 九 Qt QObject基类
  • 十 QWidget基类
  • 十一 QMainWindow基类
  • 十二 QLabel文本框
  • 十三 QPushButton按钮
  • 十四 QLineEdit单行输入框
  • 十五 QListWidget列表框
  • 十六 QTableWidget表格控件
  • 十七 QTreeWidget树形控件
  • 十八 QMessageBox消息对话框
  • 十九 Qt布局管理
  • 二十 QTcpSocket QTcpServer网络库
  • 二十一 QProcess进程库
  • 二十二 QThread线程库
  • 二十三 QSqlDatabase数据库
  • 二十四 cmake工程管理文件
  • 二十五 QFile文件操作
  • 二十六 学生信息管理系统
  • 二十七 打包
  • 总结


前言

要解决问题: 学习qt最核心知识, 多一个都不学.


一 Qt是什么

Qt是一个跨平台的GUI应用程序开发框架,提供了丰富的GUI组件库和工具,支持C++编程语言。

Qt可以用于开发桌面应用程序、嵌入式系统、移动设备和Web应用程序等各种应用场景。

Qt的特点是易用、高效、灵活、跨平台、可扩展性好等。

官网连接: https://www.qt.io/

另外Qt的开源政策也比较值得关注, 有人戏称"开源刺客", 使用时要注意, 开源协议并不是免费的代名词.

二 Qt开发工具链

Qt开发工具链包括如下几个方面:

  1. Qt Creator:是Qt官方推荐的集成开发环境(IDE),用于开发Qt应用程序。它提供了丰富的自动化工具和调试支持,包括代码编辑,编译器,调试器,可视化设计工具等。
    qtcreator

  2. Qt Designer:是一个Qt应用程序界面设计工具,可以快速创建出美观的GUI界面。它提供了图形化的界面编辑器,支持拖放式的界面设计,可以预览和调整界面的布局和外观。
    Designer

  3. Qt Linguist:是Qt的国际化工具,用于将Qt应用程序翻译成多种不同的语言。它提供了一个简单而直观的界面,可以轻松地添加、编辑和维护翻译文件,包括.po(GNU Gettext)和.ts(Qt翻译)文件。

  4. Qt Assistant:是一个Qt文档工具,用于帮助开发者查找和浏览Qt文档。它提供了一份完整的Qt文档,并支持基于关键字或类名的搜索和查找。
    Assistant

  5. Qt Test:是一个Qt测试框架,可以帮助开发者编写和运行单元测试和集成测试。它提供了一些基本的测试工具,包括测试驱动程序、测试用例、测试报告、测试运行器等。

  6. 为了生成最终的可执行文件, 需要配置C++编译器, 可以是gcc, mingw64, mscv, clang. 同时需要使用CMake.
    在这里插入图片描述

三 Qt编程涉及的术语和名词

以下是一些 Qt 编程中常用的术语和名词:

  1. QObjects: Qt 中的所有对象都是 QObject 的子类。

  2. Signals and Slots:信号和槽是 Qt 中最重要的一种事件通信机制,允许在不同的对象之间进行通信。

  3. Widgets:Qt 中的 UI 组件,包括按钮、文本框、标签等等。

  4. Layouts:Qt 中用于管理窗口布局的类。

  5. Main Window:Qt 应用程序中的主窗口。

  6. QML:Qt Quick Markup Language,一种用户界面描述语言,用于在 Qt 中创建动态 UI。

  7. Model/View Programming:Qt 中一种用于管理数据和 UI 显示的编程模式。

  8. QPainter:绘图引擎,用于在 widget 上绘制图形。

  9. QThread:Qt 中的线程类,用于创建并管理线程。

  10. Qt Designer:Qt 中的图形界面设计器,用于可视化设计 UI。

四 Qt Creator使用

Qt Creator 用于创建Qt软件。以下是一些使用Qt Creator的步骤:

  1. 安装Qt Creator:

我是用msys2资源管理工具安装的, 基于clang64版本, 同时安装clang tool chain, qt6, 具体方法比较简单, 不再赘述.

安装完成后,打开Qt Creator。

  1. 创建一个新项目:
    在这里插入图片描述
    选择您要创建的应用类型(如控制台应用程序或窗口应用程序)。
    在这里插入图片描述
    设置项目名称和路径,然后单击“下一步”。
    在这里插入图片描述

  2. 配置项目:在这一步中,您可以选择构建设置
    在这里插入图片描述
    基类类型
    在这里插入图片描述
    语言
    在这里插入图片描述
    构建套件
    在这里插入图片描述
    汇总确认, 单击“完成”以创建新项目。
    在这里插入图片描述

  3. 编写代码:在Qt Creator中,您可以使用代码编辑器编写代码。选择您想要编辑的文件,然后开始编写代码。
    在这里插入图片描述

  4. 构建和运行项目:构建项目时,Qt Creator会自动生成可执行文件。也可以通过Qt Creator提供的调试工具来调试程序。
    在这里插入图片描述

  5. 调试:在Qt Creator中,您可以使用调试器调试程序。单击“调试”菜单,然后选择“调试器”。在调试器中,您可以设置断点、查看变量和堆栈跟踪等。
    在这里插入图片描述

  6. 完成:完成项目后,您可以导出可执行文件或创建安装程序。单击“构建”菜单,然后选择“构建设置”。在“构建设置”中,您可以选择要导出的文件类型和位置。
    在这里插入图片描述
    使用Qt提供的windeployqt工具自动复制依赖文件,并生成可执行文件。
    先将生成的可执行文件复制到一个文件夹, 如E:\clangC++\learnQT\Learn_10_export
    然后运行windeployqt自动复制依赖:

C:\Users\Lhb>cd E:\clangC++\learnQT\Learn_10_export
C:\Users\Lhb>E:
E:\clangC++\learnQT\Learn_10_export>windeployqt6 Learn_10.exe
E:\clangC++\learnQT\Learn_10_export\Learn_10.exe 64 bit, release executable
Adding Qt6Network for qtuiotouchplugin.dll
Adding Qt6Svg for qsvgicon.dll

在这里插入图片描述

五 hello Qt!

六 Qt控件和事件

七 Qt信号和槽

八 Qt自定义信号和槽

九 Qt QObject基类

十 QWidget基类

十一 QMainWindow基类

十二 QLabel文本框

十三 QPushButton按钮

十四 QLineEdit单行输入框

十五 QListWidget列表框

十六 QTableWidget表格控件

十七 QTreeWidget树形控件

十八 QMessageBox消息对话框

十九 Qt布局管理

二十 QTcpSocket QTcpServer网络库

二十一 QProcess进程库

二十二 QThread线程库

二十三 QSqlDatabase数据库

二十四 cmake工程管理文件

二十五 QFile文件操作

二十六 学生信息管理系统

二十七 打包


总结


点击 <C 语言编程核心突破> 快速C语言入门


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1287048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pandas,一个Python办公神器?

微信公众号&#xff1a;愤怒的it男&#xff0c;超多Python技术干货文章。 Pandas库基于NumPy库开发&#xff0c;是一个免费、开源的第三方Python库&#xff0c;与Numpy、Matplotlib并称Python数据分析三剑客。Pandas提供了两种数据结构&#xff0c;分别是Series&#xff08;一维…

SeaTunnel引擎下的SQL Server CDC解决方案:构建高效数据管道

在快速发展的数据驱动时代&#xff0c;实时数据处理已经成为企业决策和运营的关键因素。特别是在处理来自各种数据源的信息时&#xff0c;如何确保数据的及时、准确和高效同步变得尤为重要。本文着重介绍了如何利用 SqlServer CDC 源连接器在 SeaTunnel 框架下实现 SQL Server …

arcgis投影栅格不可用

1、使用【投影栅格】工具进行栅格数据投影转换时报错。 解决方法&#xff1a;如果使用的是arcgis10.5及以下的版本&#xff0c;则需要更换更高的版本&#xff0c;因为这个是软件问题&#xff0c;需要更换到arcgis10.6及以上版本&#xff0c;更高级别的版本已经修复了这个问题。…

Selenium自动化测试 —— 模拟鼠标键盘的操作事件

鼠标操作事件 在实际的web产品测试中&#xff0c;对于鼠标的操作&#xff0c;不单单只有click()&#xff0c;有时候还要用到右击、双击、拖动等操作&#xff0c;这些操作包含在ActionChains类中。 ActionChains类中鼠标操作常用方法&#xff1a; 首先导入ActionChains类&#…

基于Springboot的社区医院管理服务系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的社区医院管理服务系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系…

关于神舟-战神TA5NS系统重装问题

加装固态卡在log处无法开机问题 下面是我的步骤 1.按f7选择pe安装系统&#xff0c;然后发现卡在战神log处不转动 2.下载驱动 TA5NS驱动地址 下载RAID驱动&#xff08;如果没有私信我&#xff0c;我网盘里有&#xff09;&#xff0c;拷到u盘中&#xff0c;然后进入pe系统里面…

Python----Pandas

目录 Series属性 DataFrame的属性 Pandas的CSV文件 Pandas数据处理 Pandas的主要数据结构是Series&#xff08;一维数据&#xff09;与DataFrame&#xff08;二维数据&#xff09; Series属性 Series的属性如下&#xff1a; 属性描述pandas.Series(data,index,dtype,nam…

轨道交通故障预测与健康管理PHM系统的应用

轨道交通是现代城市中不可或缺的交通方式&#xff0c;它为人们提供了快速、高效和可靠的出行方式。然而&#xff0c;由于轨道交通系统的复杂性和高负荷运行&#xff0c;设备故障和运营中断问题时有发生。为了提高轨道交通系统的可靠性和安全性&#xff0c;故障预测与健康管理&a…

Java的TPC通信

TPC通信-快速入门 TPC通信-客户端开发 TPC通信-服务端开发 TPC通信-多发多收 客户端 服务端 TPC通信-支持与多个客户端同时通信 服务端 独立线程对象

看懂lscpu的输出

文章目录 1. lscpu1.1 Architecture1.2 逻辑核心数1.3 缓存1.4 CPU型号1.5 NUMA架构1.5.1 CPU多核架构1.5.2 多CPU Socket架构 2. cat /proc/cpuinfo2.1 关键字段 1. lscpu 通过lscpu查看当前系统的CPU信息。 [hadoopserver3 ~]$ lscpuArchitecture: x86_64 …

使用晶振遇到的两个问题

并联电阻的问题 在一些方案中&#xff0c;晶振并联1MΩ电阻时&#xff0c;程序运行正常&#xff0c;而在没有1MΩ电阻的情况下&#xff0c;程序运行有滞后及无法运行现象发生。 原因分析&#xff1a; 在无源晶振应用方案中&#xff0c;两个外接电容能够微调晶振产生的时钟频率…

Spring容器启动过程中的自定义操作插口汇总

目录标题 PostConstruct注解EventListener方式InitializingBean的afterPropertiesSet方法实现ApplicationRunner接口重写run方法实现AplicationContextAware接口重写setApplicationContext实现ServletContextListener接口contextInitialized方法实现ServletContextAware接口set…

性能测试流程、指标及常见问题!

1.介绍性能测试流程 a.性能需求分析&#xff08;评审&#xff09; 基于接口或者场景&#xff08;全链路&#xff09;的性能测试指标&#xff0c;一般是tps&#xff08;每秒事务数&#xff0c;这里都是通过的事务&#xff09;及art&#xff08;平均响应时间&#xff09; b.了解…

基于ssm vue的风景文化管理平台源码和论文

摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;基于vue的木里风景文化管理平台也不例外&#xff0c;但目前国内的市场仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对…

2-1、地址加法器CS:IP

语雀原文链接 文章目录 1、CPU组成2、通用寄存器16位寄存器的存储16位寄存器兼容8位word 和 byte进位问题 3、地址加法器不同的段地址和偏移地址表示同一个物理地址偏移地址的范围一个段的起始地址一定是16的倍数 4、CS:IPCS IP工作过程jmp修改CS:IP 5、DS和[address]DS和[add…

四.多表查询

多表查询 1.一个案例引发的多表连接1.1案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3案例分析与问题解决 2.多表查询分类讲解分类1&#xff1a;等值连接vs非等值连接分类2&#xff1a;自连接vs非自连接分类3&#xff1a;内连接vs外连接 3.SQL99语法实现多表…

记录华为云服务器(Linux 可视化 宝塔面板)-- Nginx配置出现500错误记录

文章目录 1、路由配置&#xff0c;访问显示500如有启发&#xff0c;可点赞收藏哟~ 1、路由配置&#xff0c;访问显示500 错误如图显示500 解决思路如下 1、先查看错误日志 错误日志存放位置 提示 /login配置的文件有问题 开始配置如下图 修改前 修改后&#xff08;即在/l…

题目:小明的彩灯(蓝桥OJ 1276)

题目描述&#xff1a; 解题思路&#xff1a; 一段连续区间加减&#xff0c;采用差分。最终每个元素结果与0比较大小&#xff0c;比0小即负数输出0。 题解&#xff1a; #include<bits/stdc.h> using namespace std;using ll long long; const int N 1e5 10; ll a[N],…

深度学习之网络优化与正则化

视频链接&#xff1a;7.1 神经网络优化的特点_哔哩哔哩_bilibili 神经网络优化的特点 网络优化的难点 &#xff08;1&#xff09;网络结构差异大&#xff1a;不同模型之间的结构差异大——没有通用的优化算法、超参数多 &#xff08;2&#xff09;非凸优化问题&#xff1a;…

gitee上合并分支

点击pull requests 这个合并代码的位置找了半天没有找到&#xff0c;最后还是搜到才知道