【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程
本节对应的视频讲解:B_站_链_接
https://www.bilibili.com/video/BV1UA4y1d7V2
1. 配置 Qt Creator
集成开发环境默认的设置,能够满足绝大部分人的需求,但是可能还是有个别选项,不符合我们的需求
因此,第一步都是根据自己的需要,进行简单的设置
常用的集成开发环境:
# 微软出品,宇宙第一 IDE,做 C# 开发就会用到
Visual Studio# 微软出品并开源的,源代码编辑器,插件丰富强大,可以支持几乎所有开发语言
VS Code# 谷歌官方,用开发 Android 程序,目前 Android 开发的语言,已经由 Java 变为了 Kotlin
Android Studio# 用于浏览C/C++代码,韦东山老师习惯使用的工具
Source Insight
1.1 设置主题
可以将主题设置为浅色或者深色,比如在晚上的时候,可以将主题调成深色主题
,就像手机的白天模式和夜间模式一样
设置方法:【工具】->【选项】->【环境】
1.2 设置中英文
【工具】->【选项】->【环境】
1.3 设置代码区字体大小
【工具】->【选项】->【文本编辑器】->【Fonts & Colors
】
还可以设置鼠标滚轮,来放大和缩小字体
方法:【工具】->【选项】->【文本编辑器】->【Behavior
】
很实用和方便的功能,尤其是你在给同事讲解代码时,可以方便地放大代码区域
1.4 显示行号、高亮显示当前行
方法:【工具】->【选项】->【文本编辑器】->【Display
】
- 显示行号:方便代码行数的定位
- 高亮显示当前行:方便快速定位当前光标所在的行。这个默认时未勾选的,建议勾选
- 显示文件编码:界面上直观地显示文件编码。这个默认时未勾选的,建议勾选,这样文件编码显示在打开文件的右上角。
1.5 设置文件默认编码
文件的默认编码为 utf-8
,建议保持默认,这样中文不会乱码
如果是 GB2312
或者 GBK
编码的文件, 使用 utf-8
编码来打开就会乱码
方法:【工具】->【选项】->【文本编辑器】->【Behavior】
1.6 保存时清理
就是在保存文件时,清除多余的空白字符,使代码简洁,并且占用的文件大小也会缩小
在 VSCode
以及 Source Insight
中都有这种设置
方法:【工具】->【选项】->【文本编辑器】->【Behavior】
2. 新建第一个Qt工程
环境配置好了,就可以开始新建第一个 Qt
工程了
2.1 打开新建工程窗口
在【欢迎】模式下,点击【Create Project…】
或者【文件】菜单,点击【New Project…】,都可以打开如下新建项目的对话框:
在 Qt 中,Widget
类是所有窗口类的基类,因此要创建基于窗口的应用,就要选择【Qt Widgets Application】
2.2 指定项目名称和保存路径
注意:
作为一名专业的程序员,项目名称,项目路径,包括文件明,都不要使用中文,否则可能会报错,或者出现莫名其妙的问题!
2.3 选择构建系统
2.4 选择窗口类
2.5 国际化
2.6 选择编译套件
2.7 版本控制
常用的版本控制工具有 svn
和 git
,通常我们自己使用 svn 或 git 来进行版本管理即可,这里选择 none
3. 项目文件说明
上一步,直接点击完成,就可以打开如下:
下面对 HelloQt.pro
文件和 main.cpp
文件,进行介绍
至于mywindow.h
、mywindow.cpp
、mywindow.ui
这三个文件,会在下一节《项目构建流程》时详细说明。
3.1 HelloQt.pro
QT 选项用于指定项目中用到的 Qt 模块
通常一个窗口程序,肯定要用到的三个模块就是:core
、gui
、widgets
那么,Qt 中还有哪些常用的模块呢?
# QtCore 模块是Qt应用程序的基础,是核心的非图形类。
# 提供了信号与槽的通信机制,并发和多线程,容器,事件系统
Qt Core# 最重要的GUI模块。图形用户界面 (GUI) 组件的基类。
Qt GUI# 包含基于GUI应用程序的典型小部件类,比如按钮、文本框、标签等
# 在 Qt5 中, 从 Gui 模块中分离出来。
Qt widgets# 网络模块。用于支持 TCP, UDP, HTTP 通信
Qt Network# 多媒体模块。音频、视频、广播和相机功能类。
Qt Multimedia# Qt Multimedia 的小部件。
Qt Multimedia Widgets# 数据库模块。用于操作数据库,比如后面会将到的 sqlite、MySQL
Qt SQL# web引擎模块。用于 web 相关的开发
Qt WebEngine############################################################
# 以下是 QML 相关的模块
# QML 是什么呢?
# 简单来说,就是使用类似 js 的语法来构建界面,而不是 widget 的方式# Qt QML模块。用于 QML 和 JavaScript 语言。
Qt QML# 该模块用于使用 QML2 编写的 GUI 应用程序。用于构建具有自定义用户界面的高度动态应用程序的声明性框架。
Qt Quick# 提供轻量级 QML 类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式架构并且非常高效。
Qt Quick Controls# 用于从 Qt Quick 应用程序创建系统对话框并与之交互的类型。
Qt Quick Dialogs# 用于在 Qt Quick 中安排项目的布局。
Qt Quick Layouts
3.2 main.cpp
main.cpp
文件是 Qt 程序的入口文件,其中的 main
函数是入口函数
#include "mywindow.h"#include <QApplication>int main(int argc, char *argv[])
{// 1. QApplication 是 Qt 框架提供的应用程序类// 作用:负责 Qt 中事件的处理,比如鼠标的单击事件,键盘的输入事件等QApplication a(argc, argv);// 2. 创建自己的窗口对象,并调用其 show 方法,将窗口显示出来MyWindow w;w.show();// 3. 调用 QApplication 类的 exec 方法,应用程序就阻塞在这里,并不会退出,// 而是进入到事件循环的处理, 直到退出程序(比如点击了窗体右上角的关闭按钮)return a.exec();
}
下节课,我们详细介绍项目的构建流程,包括:
- 如何生成
Makefile
,如何根据Makefile
来编译出可执行文件 - 如何将
ui
文件转换为编译器可编译的cpp/.h
文件。因为编译器编译的是cpp/.h
文件,而ui
文件本身是xml
格式的,它如何转换为cpp/.h
文件呢?
这些都会再下一节,为大家详细并深入地讲解!
本节对应的视频讲解:B_站_链_接
https://www.bilibili.com/video/BV1UA4y1d7V2
【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程相关推荐
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget
本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.2 搭建Qt开发环境
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1Pr4y1x7fh Qt 开发主要有两种开发环境 Qt Creator 它是 Qt 官方提供的开 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.4 项目构建流程
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1cW4y1y7Lw 在上一节课中,我们新建了第一个 Qt 工程,其中包括 5 个文件: Hell ...
- 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.1 效果演示、技术点
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV14P4y197pi Qt 中绘图用到的类是 QPainter,可以实现点.线.矩形.圆形.多边形 ...
- 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.2 界面布局
本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1fR4y1k7Kt 上节课,初步展示了本章要实现的效果.本节课开始,就从零新建工程,把效果一一实 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.7 如何连接信号槽
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1mN4y137H6 信号和槽要建立连接,本质上是通过 `connect` 函数来连接实现的. 但 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.6 自定义信号槽
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gA4y1d7gz 上节课,我们讲解了标准信号槽,标准信号槽中,信号和槽函数,都是 Qt 框架定 ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.5 标准信号槽
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1vW4y1676Q 本节讲解信号和槽的概念,以及标准的信号槽 1. 什么是信号槽 1.1 信号 ...
最新文章
- [翻译]震荡波蠕虫技术分析(振荡波蠕虫技术分析)
- php安全性差,PHP安全性防范方式
- 【python笔记】python模块 datatime模块
- OpenCV用于快速边缘检测的结构化森林
- lnmp发送测试邮箱失败(亲测正解)
- angular的$http发送post,get请求无法传送参数的问题
- 王道机试指南读后总结-6(动态规划等)
- python 脚本编码_Python-我如何编码我的Python脚本
- LeetCode(589)——N叉树的前序遍历(JavaScript)
- H5微信登录获取unionid
- Android学习笔记 二八 字体
- CentOS7-Docker-DockerFile-05
- Flask PyMongo的基本使用
- 可视化经典:10幅精妙绝伦的科学视图
- sqlserver查看历史死锁信息
- 工作总结--如何定位web系统前后台的bug,以及bug分析/测试感想
- vue中的与||符号
- sudo -i 和sudo -s
- vue 指定元素滚动到页面可视区域
- 11. Container With Most Wate
热门文章
- 基础指标(原子指标)、复合指标、派生(衍生)指标的含义
- C++倒着打印九九乘法表
- 一键反编译Android包教程
- ESP8266+blinker(点灯科技)
- 2019新闻列表_每日新闻摘要:2019年3月12日以来的热门故事
- PHP格式打印输出ladybug
- FPGA实现UDP通信,UDP环通测试还行
- 推动新能源越野场景革命 坦克品牌开创越野新生态
- java 找不到字体_从Java中的TTF文件加载一些TrueType字体会导致FontFormatException:找不到字体名称...
- Django的边边角角(二):缓存、中间件、分页器、富文本