当前位置: 首页 > news >正文

02.【Qt开发】Qt Creator介绍及新建项目流程

目录

一.Qt Creator介绍

1.1 创建桌面快捷方式

1.2 Qt Creator界面菜单介绍

二. 新建项目

2.1 新建项目

2.2 编辑界面介绍

2.2.1 左边栏

2.2.2 代码编辑区

2.2.3 UI设计界面

2.2.4 构建区


一.Qt Creator介绍

1.1 创建桌面快捷方式

        在开始菜单栏找到Q开头的一栏,点击Qt文件夹打开 -> 右键Qt Creator -> 更多 -> 打开文件位置将文件中的 Qt Creator 快捷方式复制粘贴到桌面

1.2 Qt Creator界面菜单介绍

1. 菜单栏。菜单栏一共有 8 个菜单选项,包含了常用的功能菜单:

文件

包含了新建、打开、关闭项目和文件、打印和退出等基本功能

编辑

包含了撤销、剪切、复制、查找和选择编码等功能

构建

包含构建和运行项目等相关功能。

调试

包含调试运行项目等相关功能。

Analyze

包含 QML 分析器、Valgrind 内存和功能分析器等相关功能

工具

提供了快速定位菜单、外部工具菜单等。这里的选项菜单中包含了 Qt Creator 各个方面的设置选项:环境设置、文本编辑器设置、帮助设置、构建和运行设置、调试器设置和版本控制设置等。

控件

包含了设置窗口布局的一些菜单,如全屏显示和隐藏边栏功能等。

帮助

包含 Qt 帮助、Qt Creator 版本信息、报告bug和插件管理等菜单。

2. 模式选择

欢迎模式

主要提供了一些功能的快捷入口,如打开帮助教程、打开示例程序、打开项目、新建项目、快速打开以前的项目和会话、联网查看 Qt 官方论坛和博客等。示例页面显示了 Qt 自带的大量示例程序,并提供了搜索栏从而实现快速查找;教程页面提供了一些视频教程资源,但是是英文的。

编辑模式

主要用来查看和编辑程序代码,管理项目文件。Qt Creator 中的编辑器具有关键字特殊颜色显示、代码自动补全、声明定义间快捷切换、函数原型提示、F1 键快速打开相关帮助和全项目中进行查找等功能。也可以在 "工具---->选项 " 菜单中对编辑器进行设置。

设计模式

整合了 Qt Designer 的功能。可以设计图形界面,进行部件属性设置、信号和槽设置、布局设置等操作。

调试模式

支持设置断点、单步调试和远程调试等功能,包含局部变量和监视器、断点、线程以及快照等查看窗口。

项目模式

包含对特定项目的构建设置、运行设置、编辑器设置、代码风格设置和依赖关系等页面。构建设置中可以对项目的版本、使用的Qt版本和编译步骤进行设置;编辑器设置中可以设置文件的默认编码;在代码风格设置中可以设置自己的代码风格。

帮助模式

在帮助模式中将 Qt 助手整合了进来,包含目录、索引、查找和书签等几个导航模式,可以在帮助中查看 Qt和Qt Creator的各方面信息。

3. 构建套件选择器。构建套件选择器包含了目标选择器(Target selector)、运行按钮(Run)、调试按钮(Debug)和构建按钮(Building)四个图标。

目标选择器

目标选择器用来选择要构建哪个项目、使用哪个 Qt 库、这对于多个 Qt 库的项目很有用。还可以选择编译项目的 debug 版本或是 release 版本。

运行按钮

运行按钮可以实现项目的构建和运行;

调试按钮

运行按钮可以实现项目的调试;

构建按钮

构建按钮完成项目的构建。

4. 欢迎模式下的窗口工作方式。

Project用来新建工程、打开工程
示例

Qt 官方的一些示例

教程

Qt 官方教程

5. 定位器。使用定位器来快速定位项目、文件、类、方法、帮助文档以及文件系统。可以使用过滤器来更加准确地定位要查找的结果。

6. 输出窗格。输出窗格包含了问题、搜索结果(Search Results)、应用程序输出、编译输出、Debugger Console、概要信息、测试结果(Test Results)7个选项,它们分别对应一个输出窗口,响应的快捷键依次是 Alt+数字1~7。

问题

问题窗口显示程序编译时的错误和警告信息;

Search Results

搜索结果窗口显示执行了搜索操作后的结果信息;

应用程序输出

应用程序窗口显示应用程序运行过程中输出的所有信息;

编译输出

编译输出窗口显示程序编译过程输出的相关信息;

7. 会话记录。可以对会话进行管理,包括 Clone。如果没打开工程,则显示的是最后一次打开的(会话)工程,否则,显示当前的会话(工程)。

8. 新建项目。

9. 打开已有项目。

二. 新建项目

1.双击打开Qt Creator

2.1 新建项目

        1.打开新建项目

        2. 模板选择介绍

        新建项目,我们点击Application(Qt) --> Qt Widgets Application --> 右下角“选择”。

        3. 新建流程 

        (1)Location 填写项目名称选择项目创建路径

        (2)构建系统

        通过 Qt 写程序,涉及到一系列的“元编程”技术,即:通过代码来生成代码。

        Qt 框架会在编译的时候,自动先调用一系列的生成工具,基于你自己写的代码,生成一系列的其他C++代码,最终编译的代码,也是最后生成的这些代码。

        qmake:是老牌的Qt构建工具。(本教程以qmake为主)用于自动生成 makefile 文件。qmake 支持跨平台构建。qmake 编辑的是一个后缀名为 .pro 的文件。

        CMake:并非是Qt专属,很多的开源项目都会使用CMake。是一个跨平台的构建工具。CMake 本身不是一个编译器,其实就是生成一个让编译器能读懂编译流程的文件工具。让 CMake 自动生成构建系统,例如 Makefile 和 Visual Studio项目文件。CMake 是一个第三方工具,有自己的文档。

        Qbs:新一代的Qt构建工具(实际上使用的人非常少)Qbs(Qt Build Suite:Qt构建套件)同 qmake、CMake 一样都是构建工具。Qbs 号称是新一代的构建工具,比 qmake 编译速度更快。Qbs 没有绑定 Qt 版本,它从项目文件的高级项目描述中生成一个正确的依赖表。而传统的 MakeFile 生成工具如 qmake 和 CMake ,其在生成 MakeFile文件后将实际的命令交给 Make 工具去执行。

         (3)Details

        此处,a图为操作,b图为介绍

        a图如下:

                b图如下: 

        父类详细介绍:

QMainWindow

主窗口类,一般用于较为复杂的应用程序,除了中央客户区界面,还包括菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等。

QWidget

最简单、最基本的窗体程序,里面可以放置多个控件实现程序功能

QDialog

基于对话框的程序,对话框一般用于弹窗,也可以用于主界面显示。对话框是从QWidget继承而来的,并丰富了一些功能,如模态显示和返回值等

        上三个类之间的关系如下

        (4)Translation

        选择翻译文件,(对应的是语言,即操作此项可以将写好的图形化界面设置成其他语言版本)。此处和国际化有关,暂不关注!!

        (5)构建套件(kit)

        (6)汇总(Project Management 工程管理工具)

        下图中,左图为介绍,右图为操作

2.2 编辑界面介绍

2.2.1 左边栏

        在编辑模式下,左边竖排的两个窗口叫做 "边栏" 。① 是项目文件管理窗口,② 是打开文件列表窗口。

        在 QtCreator 菜单 "控件" --> "Show Left Sidebar",或者使用快捷键:"Alt + 0" 可以控制边栏的显示和隐藏。

        边栏里的窗口数目可以增加,边栏子窗口标题栏有一排小按钮,最右边的是关闭按钮,倒数第二个是增加分栏按钮,可以添加多个边栏子窗口。

        边栏子窗口标题栏第一个控件是组合框,可以选择该子窗口的功能视图类型,目前可以选择十多个视图类型:

视图类型说明
项目

即项目文件管理视图,可以选择项目里的文件进行编辑,包括 pro 文件也可以手动编辑。

打开文档

当前已经打开的文件列表,文件名右边如果有 * 号,是该文件被修改了但尚未保存。

书签

右击代码编辑器行号位置,看到 "切换书签",可以给代码行添加书签,方便跳转到该位置。

文件系统

相当于系统里的文件资源管理器,可以查看项目文件夹在磁盘里的实际文件列表。

类视图

可以查看项目里包含的类及相应源代码文件里的成员函数、成员变量。

Git Branches

查看当前分支

大纲

编辑器所显示的当前文件的大纲列表,如名字空间、类名、成员函数、成员变量等。

Tests

测试

类型层次

当前项目包含的类及其基类、派生类列表。

Include Hierarchy包含视图,显示当前项目里 *.h 、*.cpp 以及 Qt 类库头文件之间的包含关系。

2.2.2 代码编辑区

        ①和②:导航按钮 "返回" 和 "前进",这与网页浏览器的前进和后退按钮类似,可以在之前浏览的多个代码文件或一个代码文件里多个位置之间快速切换。

        ③:标识当前显示的文件是只读还是可写,一般都是可写的。

        ④:文件类型图标,当前显示文件的类型,这个控件其实是一个菜单按钮,点击可以弹出丰富的文件处理功能菜单。

        ⑤:打开的文件名,可以在多个打开的文件之间选择切换,与边栏的 "打开文档" 视图是对应的。

        ⑥:关闭当前显示的文档。

        ⑦:为当前显示的文件添加额外的C++预处理指令,一般用不着。(新版⑦在⑧的右边)

        ⑧:选择符号,可以在当前显示的文件里多个函数、类、成员变量等之前快速切换,与边栏"大纲"视图是对应的。

        ⑨:编辑区光标的行号和列号。

        ⑩:代码编辑区分栏,可以增加多个编辑器窗口,显示多个打开的文档或显示较大源码文件的多个位置。

        行首区:主要用来显示代码行号,以及调试断点标志和代码书签标志。右击行首区可以弹出右键菜单,菜单里可以切换书签、编辑书签以及设置或取消断点。

        同一行是既可以打断点也可以设置书签的,二者不冲突,其实它们根本就没关系。单击行号前面的浅灰色空白区可以直接打断点,再次单击可以取消断点,另外也可以用快捷键 F9 设置或取消断点。代码书签一般用右键菜单来设置,也可以用快捷键 Ctrl+M 设置或取消书签。

        编辑区:写代码的区域。

2.2.3 UI设计界面

        双击 widget.ui 文件,Qt Creator 会自动进入设计模式,可以对图形界面进行可视化编辑:

        ①:组件选择窗口。组件选择窗口分为多个组,如 Layouts、Buttons、Display Widgets 等,界面设计的常见组件都可以在组件选择窗口中找到。
        ②:UI 设计窗口。如果要将某个组件放置到该窗口上时,从组件选择窗口上拖放一个组件到窗体上即可。
        ③:动作编辑窗口。动作编辑窗口包括 Action Editor 以及 Signals 和 Slots 编辑器。 Action Editor 主要是用来新建 Action,并且通过拖拽的动作,将新建好的 Action 添加到菜单栏和工具栏上;Signals和 Slots 编辑器用于可视化地进行信号与槽的关联。
        ④:对象浏览窗口。用树状视图显示窗体上各组件之间的布局包含关系,视图有两列,显示每个组件的对象名称(ObjectName)和类名称。
        ⑤:属性设置窗口。显示某个选中的组件或窗体的各种属性及其取值,可以在属性设置窗口里修改这些属性的值。

2.2.4 构建区

左下角一共有四个按钮,下面分别介绍一下:

        • 第一个按钮是选择构建项目使用的 Qt 套件和构建目标程序的类型(Debug 或 Release)。对于第一个按钮,默认的是Debug,构建的是 Debug 类型的目标程序。如果需要构建 Release 版目标程序,点开左下角第一个按钮:

这里有三种构建模式:

模式说明
Debug

以 "-g" 模式编译,带着符号信息,优点是便于调试

Profile

profile 则是在 "Debug" 和 "Release" 之间取一个平衡,兼顾性能和调试,可以类似的看做是性能更优又方便调试的版本。

Release

"Release" 是经过优化之后,性能比 "Debug" 更上一个档次

        • 第二个是运行按钮,快捷键是 Ctrl+R,如果还没构建项目或刚修改了代码,直接点击运行的话,QtCreator 会自动构建生成新的目标程序并运行。

        • 第三个是调试按钮,快捷键是 F5。调试程序之前,QtCreator 会自动构建生成最新的目标程序,并进入调试模式。

        • 第四个是构建按钮,快捷键是 Ctrl+B,只构建最新的目标程序,但不运行。

相关文章:

  • 跳表(Skip List)查找算法详解
  • 豆包AI一键生成短视频脚本,内容创作更高效
  • 【git】 pull + rebase 或 pull + merge什么区别?
  • 没有经验能考OCP认证吗?
  • SOC-ESP32S3部分:16-I2C
  • Java基础 Day22
  • MySql(四)
  • 【React】jsx 从声明式语法变成命令式语法
  • 深入剖析机器学习之波士顿房价案例
  • ETL数据集成过程全流程优化指南
  • 【Canvas与日月星辰】烈日当空
  • Workflow
  • Java String函数的使用
  • 【Qt开发】多元素控件
  • [Java恶补day8] 3. 无重复字符的最长子串
  • leetcode 53. 最大子数组和
  • 【分治】计算右侧小于当前元素的个数
  • 基于深度学习双塔模型的食堂菜品推荐系统
  • Tailwind css实战,基于Kooboo构建AI对话框页面(二)
  • 【leetcode】209. 长度最小的子数组
  • 免费空间建站网站推荐/白度指数
  • 为政府做网站的公司/俄罗斯搜索引擎入口 yandex
  • 最新电大网站开发维护/搜索引擎优化不包括
  • 传奇网站怎么制作教程/宁波网站优化公司电话
  • 公司网站建设亚运村/福州seo管理
  • seo怎样新建网站/百度关键词搜索次数