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


点击 <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.mzph.cn/news/200908.shtml

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

相关文章

02 硬件知识入门(电容)

1 电容的定义和主要参数 1.1 电容的符号 1.2 电容的作用 1.3 电容滤波 1.4 电容的标号命名规则 1.5电容的&#xff08;串联并联&#xff09;计算公式 与电阻的计算公式相反 1.5.1 电容的并联 1.5.2 电容的串联

上传文件接口的创建_FastAPI

上传文件接口的创建 功能描述代码效果演示与注意事项 功能描述 前端用户需要上传文件至平台&#xff0c;就比如CSDN的上传资源部分&#xff0c;都是一样的功能逻辑&#xff0c;想要实现这个功能其实并不难。 这里以上传的JSON格式文件为例&#xff0c;其他格式文件的话可以自…

用python找到音乐数据的位置,并实现音乐下载

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 需求分析: 有什么需求要实现? 这些需求可以用什么技术实现? 找到音乐数据的位置, 分析 不同音乐的链接有何规律?https://lx-sycdn.kuwo.cn/b784688662c82db8…

国产接口测试工具APIpost

说实话&#xff0c;了解APIpost是因为&#xff0c;我的所有接口相关的文章下&#xff0c;都有该APIpost水军的评论&#xff0c;无非就是APIpost是中文版的postman&#xff0c;有多么多么好用&#xff0c;虽然咱也还不是什么啥网红&#xff0c;但是不知会一声就乱在评论区打广告…

Python如何传递任意数量的实参及什么是返回值

Python如何传递任意数量的实参 传递任意数量的实参 形参前加一个 * &#xff0c;Python会创建一个已形参为名的空元组&#xff0c;将所有收到的值都放到这个元组中&#xff1a; def make_pizza(*toppings):print("\nMaking a pizza with the following toppings: "…

Retrofit的转换器

一、前言 1.为什么要使用Retrofit转换器 在我们接受到服务器的响应后&#xff0c;目前无论是OkHttp还是Retrofit都只能接收到String字符串类型的数据&#xff0c;在实际开发中&#xff0c;我们经常需要对字符串进行解析将其转变为一个JavaBean对象&#xff0c;比如服务器响应…

Codeforces Round 913 (Div. 3)(A~G)

1、编程模拟 2、栈模拟 3、找规律&#xff1f;&#xff08;从终止状态思考&#xff09; 4、二分 5、找规律&#xff0c;数学题 6、贪心&#xff08;思维题&#xff09; 7、基环树 A - Rook 题意&#xff1a; 直接模拟 // Problem: A. Rook // Contest: Codeforces - C…

火焰图的基本认识与绘制方法

火焰图的认识与使用-目录 火焰图的基本认识火焰图有以下特征(on-cpu)火焰图能做什么火焰图类型On-CPU 火焰图和Off-CPU火焰图的使用场景火焰图分析技巧 如何绘制火焰图生成火焰图的流程1.生成火焰图的三个步骤 安装火焰图必备工具1.安装火焰图FlameGraph脚本2.安装火焰图数据采…

智能优化算法应用:基于人工水母算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工水母算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工水母算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工水母算法4.实验参数设定5.算法结果6.参考…

4 STM32MP1 Linux系统启动过程

1. ROM代码 这是ST官方写的代码&#xff0c;在STM32MP1出厂时就已经烧录进去&#xff0c;不能被修改。ROM代码是上电以后首先执行的程序&#xff0c;它的主要工作就是读取STM32MP1的BOOT引脚电平&#xff0c;然后根据电平来判断当前启动设备&#xff0c;最后从选定的启动设备里…

快速认识,后端王者语言:Java

Java作为最热门的开发语言之一&#xff0c;长居各类排行榜的前三。所以&#xff0c;就算你目前不是用Java开发&#xff0c;你应该了解Java语言的特点&#xff0c;能用来做什么&#xff0c;以备不时之需。 Java 是一种高级、多范式编程语言&#xff0c;以其编译为独立于平台的字…

快手数仓面试题附答案

题目 1 讲一下你门公司的大数据项目架构&#xff1f;2 你在工作中都负责哪一部分3 spark提交一个程序的整体执行流程4 spark常用算子列几个&#xff0c;6到8个吧5 transformation跟action算子的区别6 map和flatmap算子的区别7 自定义udf&#xff0c;udtf&#xff0c;udaf讲一下…

Java链接数据库

本文介绍的是Java链接数据库中的JDBC操作&#xff0c;JDBC虽然现在用的不多&#xff0c;但面试的时候会问道。需要有相应的了解。下面以链接MySQL为例子。 JDBC 什么jdbc Java DataBase Connectivity是一种用于执行SQL语句的Java API&#xff0c;它由一组用Java语言编写的类和…

初识Protobuf与Protobuf的安装

目录 一、Protobuf 1.回顾序列化 2.Protobuf的特性 3.Protobuf的下载 ①ProtoBuf 在 window 下的安装 ②ProtoBuf 在 Linux 下的安装 一、Protobuf 1.回顾序列化 我们在先前的学习中也遇到过序列化。所谓序列化我的理解是&#xff0c;将复杂的对象以特定的方式转换以便于…

【计算机网络笔记】物理层——信道与信道容量

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

【稳定检索|投稿优惠】2024年光电信息与机器人发展国际会议(ICOIRD 2024)

2024年光电信息与机器人发展国际会议(ICOIRD 2024) 2024 International Conference on Optoelectronic Information and Robot Development(ICOIRD 2024) 一、【会议简介】 信息技术与人工智能的浪潮正在激荡&#xff0c;不断刷新我们生活的页面&#xff0c;深刻烙印在光电信息…

Homework 3: Higher-Order Functions, Self Reference, Recursion, Tree Recursion

Q1: Compose 编写一个高阶函数composer&#xff0c;它返回两个函数func和func_adder。 func是一个单参数函数&#xff0c;它应用到目前为止已经组合的所有函数。这些函数将首先应用最新的函数&#xff08;参见doctests和示例&#xff09;。 func_adder用于向我们的组合添加更多…

“快慢指针”思想在物理或者逻辑循环中的应用

1 基础概念 1.1 什么是物理循环和逻辑循环&#xff1f; 物理循环是指物理索引访问顺序上相邻&#xff0c;逻辑上也相邻&#xff0c;比如循环链表&#xff0c;逻辑循环则指物理的索引上不一定相邻 1.2 快慢指针本质上可以解决逻辑循环问题&#xff0c;而物理循环也属于逻辑循…

用AI在抖音直播做姓氏头像的全新玩法,详细分析制作教程

前段时间在圈子里给大家分享了用AI写艺术字做小红书账号案例玩法&#xff0c;同学们都比较热衷学习。纷纷动手实践。 事实上用AI艺术字变现玩法还有许多。 例如上周末在星球给圈友们分享的一个AI艺术字直播的抖音账号&#xff0c;直播内容形式很简单&#xff0c;就是展现用AI…

七大经典高效学习方法

金字塔学习模型 金字塔学习是美国学习专家爱德加戴尔1946年提出的。 他将学习分为主动学习和被动学习两种类型&#xff0c;用数字形象地呈现了采用不同学习方式&#xff0c;学习者在两周后还能记住的内容有多少。 被动学习&#xff1a;通过听讲、阅读、视听、演示这些活动&a…