首页 > 编程语言 >Qt6 c++教程2 Qt Creator简介

Qt6 c++教程2 Qt Creator简介

时间:2023-12-09 10:56:27浏览次数:43  
标签:Qt6 窗口 Qt 项目 Creator 构建 按钮

2 Qt Creator简介

Qt Creator是Qt自带的集成开发环境(IDE),用于跨平台应用程序开发。在本章中,您将学习Qt Creator集成开发环境的基础知识,并了解集成开发环境的用户界面 (UI)。我们还将了解如何在 Qt Creator中创建和管理项目。本Qt 模块包括使用Qt Creator开发一个简单的Qt应用程序、快捷方式和开发人员实用技巧。
更具体地说,我们将介绍以下主要内容:

  • Qt Creator 的基础知识
  • 配置集成开发环境和管理项目
  • 用户界面
  • 编写示例应用程序
  • 高级选项

Qt Creator提供了许多有用的工具和示例,可让您更轻松地学习Qt。您只需具备最基本的集成开发环境知识即可入门。本章结束时,你将熟悉Qt Creator的使用。您还将能够在自己喜欢的桌面平台上构建并运行第一个Qt应用程序,并了解集成开发环境中的高级选项,您可以根据自己的喜好对其进行自定义。

2.1 探索 Qt Creator UI

Qt Creator是Qt公司出品的集成开发环境。它集成了多种工具,包括代码编辑器、图形用户界面(GUI)设计器、编译器、调试器、Qt Designer、Qt Quick Designer和Qt Assistant等。

Qt Designer有助于设计基于部件的图形用户界面,而Qt Quick Designer则提供了一个用户界面,用于在设计模式下创建和编辑基于QML的图形用户界面。Qt助手是一个集成的文档查看器,按F1键就能打开与给定Qt类或函数相关的内容。

让我们从启动Qt Creator开始

在用户界面中,你可以看到以下图形用户界面部分:

  • IDE菜单栏: 它在窗口中为用户提供了一个标准位置,用于查找大多数特定于应用程序的功能。这些功能包括创建项目、打开和关闭文件、开发工具、分析选项、帮助内容以及退出程序的方法。
  • 模式选择器: 该部分根据当前任务提供不同的模式。欢迎 "按钮提供了打开示例、教程、最近会话和项目的选项。编辑(Edit)按钮可打开代码窗口并帮助浏览项目。设计(Design)按钮根据用户界面文件类型打开 Qt Designer 或 Qt Quick Designer。调试(Debug)提供了分析应用程序的选项。项目(Projects)按钮有助于管理项目设置,帮助(Help)按钮用于浏览帮助内容。
  • 工具包选择器: 有助于选择活动项目配置和更改工具包设置。
  • 运行按钮: 该按钮可在构建活动项目后运行该项目。
  • 调试按钮: 该按钮有助于使用调试器调试活动项目。
  • 构建(Build)按钮: 该按钮用于构建活动项目。
  • 定位器: 用于从任何打开的项目中打开文件。
  • 输出窗格: 它包括多个窗口,用于显示编译和应用程序输出等项目信息。它还显示构建问题、控制台消息以及测试和搜索结果。
  • 进度条: 该控件显示与运行任务相关的进度。
    当你首次启动 Qt Creator时,还可以从交互式用户界面导览中获益。您也可以从菜单栏中的 Help | UI Tour选项启动它:

注意:如果按下Alt键,您将看到菜单标题中的下划线助记符字母。按下相应的键可打开相应的上下文菜单。

2.2 构建简单的Qt应用程序

让我们从一个简单的Hello World项目开始。Hello World程序是一个非常简单的程序,它显示Hello World! 并检查SDK配置是否有误。这些项目使用最基本、最精简的代码。在本项目中,我们将使用Qt Creator创建的项目框架。

单击菜单栏上的"文件-New Project"菜单选项或按Ctrl+Shift+N键。或者,您也可以单击欢迎界面上的"创建项目"按钮来创建新项目:

接下来,您可以为项目选择一个模板。您可以创建不同类型的应用程序,包括控制台应用程序或图形用户界面应用程序。您还可以创建非Qt项目以及库项目。在右上角部分,你会看到一个下拉菜单,用于筛选特定于所需目标平台的模板。选择Qt Widgets Application模板,然后点击 Choose... 按钮:

下一步将要求您选择项目名称和项目位置。您可以单击 "浏览... "按钮导航到所需的项目位置。然后单击 "下一步 "按钮进入下一界面:

现在您可以选择构建系统。默认情况下,将选择Qt自带的编译系统qmake。点击 "下一步"按钮进入下一页幕:

接下来,您可以指定用于自动生成项目框架的类信息和基类。如果您需要一个具有MainWindow功能(如菜单栏、工具栏和状态栏)的桌面应用程序,那么请选择QMainWindow作为基类。我们将在第3章"使用 Qt 小工具的图形用户界面设计"中详细讨论 QMainWindow。单击"下一步"按钮进入下一页:

在下一步中,您可以指定翻译语言。Qt Creator自带Qt Linguist工具,允许您将应用程序翻译成不同的语言。您可以暂时跳过这一步。我们将在第11章"国际化"中讨论国际化 (i18n)。

在下一步中,您可以选择一个工具包来构建和运行项目。要构建和运行项目,必须至少有一个套件处于活动状态并可选择。如果您所需的工具包显示为灰色,则可能存在一些工具包配置问题。为目标平台安装Qt时,通常会自动配置开发目标的构建和运行设置。

版本控制允许您或您的团队将代码更改提交到中央系统,这样每个团队成员都可以获得相同的代码,而无需手动传递文件。您可以将项目添加到机器上已安装的版本控制系统中。Qt Creator IDE支持多个版本控制系统。您可以选择 ,跳过此项目的版本控制。单击 "Finish(完成)"按钮完成项目创建:

现在,您将在编辑器窗口左侧看到生成的文件。点击任何文件都可在编码窗口中打开,这是Qt Creator最常用的组件。代码编辑器在编辑模式下使用。您可以在此窗口中编写、编辑、重构和美化代码。您还可以修改字体、字号、颜色和缩进。我们将在本章后面的"了解高级选项"部分进一步了解这些功能:

现在你可以在项目文件夹中看到一个.pro文件。在当前项目中,HelloWorld.pro文件就是项目文件。它包含qmake构建应用程序所需的所有信息。该文件在项目创建过程中自动生成,以结构化的方式包含了相关细节。你可以在此文件中指定文件、资源和目标平台。如图所示,如果修改.pro文件的内容,则需要再次运行qmake。

您可以在编辑器窗口左侧找到扩展名为.ui的表单文件。让我们双击mainwindow.ui文件,打开它。在这里,你可以看到文件是在另一个界面下打开的Qt Designer。你可以看到模式选择面板已切换到设计模式。我们将在下一章详细讨论 Qt Designer。

现在将显示部件类别下的标签控件拖到窗体右侧的中心位置。
然后,双击拖入的项目,输入Hello World!按下键盘上的回车键,或用鼠标单击控件外的任意位置,保存文本:

最后一步是按下套件选择器按钮下方的运行按钮。读者点击运行按钮后,项目将自动构建。Qt Creator足够智能,它能识别出项目需要先构建。您可以单独构建和运行应用程序。编译几秒钟后,你会看到一个窗口,上面的文字是Hello World!:

恭喜您,您已经创建了第一个基于Qt的图形用户界面应用程序!现在,让我们来探索Qt Creator中的各种高级选项。

参考资料

2.3 了解高级选项

当你安装Qt Creator时,它会以默认配置安装。你可以自定义集成开发环境,配置其外观,或设置你喜欢的编码风格。

进入顶部菜单栏,点击"编辑"选项,然后选择"Prefrences"。你会在左侧边栏看到一个可用类别列表。每个类别都提供了一组自定义 Qt Creator的选项。作为初学者,您可能根本不需要更改设置,但让我们来熟悉一下不同的可用选项。我们将从管理工具包开始。

  • 构建套件(Kit)

Qt Creator可自动检测已安装的Qt版本和可用的编译器。它能对用于构建和运行项目的配置进行分组,使其跨平台兼容。这组配置存储为一个工具包。每个工具包都包含一组描述环境的参数,如目标平台、编译器和 Qt版本。

如果任何工具包显示黄色或红色警告标记,则表示配置出现故障。在这种情况下,您可能需要选择正确的编译器和Qt版本。您还可以单击添加按钮创建自定义工具包。如果要使用新工具包,请不要忘记点击应用按钮。我们将使用默认的桌面配置,如下图所示:

  • Qt版本

在这个选项卡中,你可以看到系统上可用的Qt版本。理想情况下,版本会被自动检测到。如果没有检测到,请单击 "添加... "按钮并浏览qmake的路径,添加所需的Qt版本。Qt使用定义的版本编号方案。例如,Qt 6.0.0 表示Qt 6.0 的第一个补丁版本,6表示Qt的主要版本。每个版本都限制了可接受的更改量,以确保API的稳定性。Qt试图保持各版本之间的兼容性。然而,由于主要版本中的代码清理和架构更改,这并不总是可能的:

Qt软件版本使用 Major.Minor.Patch的版本格式。主要版本可能会破坏二进制文件和源文件的向后兼容性,但源文件的兼容性可能会保持不变。小版本具有二进制和源代码的向后兼容性。补丁版本的二进制文件和源代码都具有向后和向前兼容性。
我们不会讨论套件部分下的所有选项卡,因为其他选项卡需要编译器、调试器和构建系统方面的知识。如果你是一名经验丰富的开发人员,可以探索这些选项卡并根据需要进行修改。让我们进入左侧边栏的环境。

  • 环境

该选项允许用户选择自己喜欢的语言和主题。默认情况下,Qt Creator使用系统语言。如果改用其他语言,请单击 "应用"(Apply)按钮并重启 Qt Creator 以查看更改。请注意,这些环境选项与构建环境不同。您将看到与图类似的界面,如下所示:

您还会看到一个复选框,上面写着"启用高 DPI 缩放"。在不同的操作系统上,Qt Creator处理高点每英寸(DPI)缩放的方式有所不同,具体如下:
在Windows上,Qt Creator会检测默认缩放因子并相应使用。
在Linux 上,Qt Creator会让用户自行决定是否启用高DPI缩放。之所以这样做,是因为Linux有许多不同的版本和窗口系统。
在macOS上,Qt Creator会强制Qt使用系统缩放因子作为Qt Creator的缩放因子。

  • 键盘快捷方式

键盘部分允许用户探索现有的键盘快捷方式并创建新的快捷方式。Qt Creator有许多内置的键盘快捷键,对开发人员非常有用。如果缺少自己喜欢的快捷键,也可以创建自己的快捷键。此外,您还可以为未出现在列表中的功能指定自己的键盘快捷方式,例如在文本编辑器中选择单词或行。
下面列出了一些日常开发中常用的快捷键:

快捷键按类别分组。要在列表中查找键盘快捷方式,请在"筛选器"字段中输入函数名称或快捷方式。

上图显示了关键字new的可用快捷键列表。可以看到Ctrl + N用于创建新文件或项目。您还可以导入或导出 .kms 格式的键盘映射方案文件。

Qt 内置的快捷键比我们这里讨论的要多得多。有关快捷键的更多信息,请参阅以下文章:
https://doc.qt.io/qtcreator/creator-keyboard-shortcuts.html
https://wiki.qt.io/Qt_Creator_Keyboard_Shortcuts
https://shortcutworld.com/Qt-Creator/win/Qt-Creator_Shortcuts

Qt Creator 键盘快捷键与窗口管理器快捷键之间可能存在冲突。在这种情况下,窗口管理器快捷键将覆盖Qt Creator快捷键。您也可以在窗口管理器中配置键盘快捷方式。如果这受到限制,则可以更改 Qt Creator 快捷键。

  • 文本编辑器

左侧边栏的下一个类别是文本编辑器。在这里,你可以在第一个选项卡中选择配色方案、字体和字号。下一个选项卡列出了文本编辑器中的不同行为。Qt使用空格缩进来代替键盘上的Tab键:

与空格缩进相比,有些开发人员更喜欢制表符缩进。您可以在C++和Qt Quick设置中更改缩进行为。由于有专门的设置作为不同的边栏类别,在未来的版本中,文本编辑器中的这一部分可能会被弃用。

你可以在文件编码组中找到当前文件的文件编码。要修改文件编码,请从下拉菜单中选择新编码。

  • 分割编码窗口

您可以分割编码窗口,在同一屏幕或外部屏幕上查看多个文件。您可以选择不同的方式同时查看多个文件(选项可在菜单栏的窗口选项下找到):

现在我们来讨论一下分割编码窗口和删除分割窗口的各种方法:
要将编码窗口分割为上下视图,请按Ctrl+E,然后按2,或在菜单栏中选择窗口选项,然后单击分割选项。这将在当前活动窗口下方创建一个额外的编码窗口。
要将编码窗口分割为相邻视图,请选择并排分割,或按Ctrl+E,然后按3。并排分割会在当前活动编码窗口的右侧创建视图。
要在独立窗口中打开编码窗口,请按 Ctrl+E,然后按4,或选择在新窗口中打开。为方便起见,您可以将窗口拖到外部显示器上。
要在分割视图和分离的编辑器窗口之间移动,请选择下一个分割视图,或按 Ctrl+E,然后按O。

要移除分割视图,请单击要移除的窗口并选择移除当前分割,或按 Ctrl+E,然后按0。
要移除所有分割的编码窗口,请选择移除所有分割窗口,或按 Ctrl+E,然后按1。

  • 构建选项

在菜单栏中,你可以看到"构建"选项。在这里,您可以构建、重建或清理项目。在复杂的项目中,可能有多个子项目。您可以单独构建子项目,以减少总的构建时间:

Qt Creator 项目向导允许你在创建新项目时选择构建系统,包括qmake、CMake和Qbs。它让开发人员可以自由地将 Qt Creator用作代码编辑器,并控制构建项目时使用的步骤或命令。默认情况下,您的新项目已安装并配置了 qmake。有关使用其他构建系统的更多信息,请访问以下链接:https://doc.qt.io/qtcreator/creator-project-other.html。
现在,让我们来讨论在哪里以及如何查找框架文档。

  • Qt 助手

Qt Creator还内置了一个名为Qt Assistant的文档查看器。这真的很方便,因为只需将鼠标光标悬停在源代码中的类名上并按下F1键,就能查找某个Qt类或函数的解释。Qt助手就会打开,并显示与该Qt类或函数相关的文档:

Qt助手还支持交互式帮助,使您能为Qt应用程序创建帮助文档。

在Windows平台上,Qt助手是Qt Creator菜单栏上的一个菜单选项。在Linux发行版上,你可以打开终端,键入assistant,然后按Enter。在macOS上,它安装在/Developer/Applications/Qt目录中。

2.4 总结

本章介绍了Qt Creator集成开发环境的基本原理及其用途。Qt Creator是一个集成开发环境,拥有一套出色的工具。它能帮助你轻松创建适用于多种平台的优秀图形用户界面应用程序。开发人员不需要为创建一个简单的按钮而编写冗长的代码,也不需要为对齐一个文本标签而修改大量代码,Qt Designer会在我们设计图形用户界面时自动为我们生成代码。我们只需点击几下就创建了一个图形用户界面应用程序,我们还了解了集成开发环境中的各种高级选项,包括如何管理工具包和快捷方式。内置的Qt助手通过有用的示例为我们提供了极大的帮助,并能帮助我们编写自己的文档。

标签:Qt6,窗口,Qt,项目,Creator,构建,按钮
From: https://www.cnblogs.com/testing-/p/17883518.html

相关文章

  • Qt同步、异步
    【同步、异步】同步意味着事件、操作或进程是有序的,一个操作必须在另一个操作完成后开始执行。当多线程时通过锁、信号量等机制来确保数据一致性或避免竞争条件。异步则意味着事件、操作或进程是独立的,可以在不等待其他操作完成的情况下开始执行。一定是多线程。参考:理清概念:同......
  • vs 工程添加QT Property
    右键projectname,选择unloadproject 双击工程名称,会打 【开工程名.vcxproj】文件 找到文件中的  PropertyGroupLabel="Globals"<PropertyGroupLabel="Globals"><ProjectGuid>{A639-FC7C1B}</ProjectGuid><WindowsTargetPlatformVer......
  • Qt小知识1.Q_DECLARE_METATYPE和qRegisterMetaType
    1了解Q_DECLARE_METATYPEQ_DECLARE_METATYPE是一个Qt宏,用以通知Qt的反射系统关于自定义类型的存在。当使用此宏声明一个类型后,该类型可以在QVariant中使用。QVariant是Qt中用于存储可以包含任意类型的一个“通用”值容器。Qt元对象系统不知道非Qt类的存在,因此如果要在QVarian......
  • Qt显示OpenCV的单通道图片
    一、概述Qt中显示OpenCV的图片。OpenCV中的Mat默认是3通道图片。但是其灰度图、二值图片会是8位单通道的。示例代码中记录了如何显示二、代码示例#include"ImageUtils.h"MatImageUtils::qImageToMat(QImageqImage){//QImage转Mat三通道图片QImageimage=......
  • vcpkg 包管理在Clion 和 Qt中的使用
    在使用C++的过程中,发现了一个强大的包管理器,以后再也不用自己去单独编译某个C++的外部插件了。下面说一下教程:安装好git后,直接在D:\Plugins\develop目录下克隆一个vcpkg的目录gitclonehttps://github.com/microsoft/vcpkg进入vcpkg目录后,打开管理员命令台,输入./vcpkgins......
  • 13、QT窗口API函数基础知识
    QT窗口API函数geometry()用于获取窗口在屏幕上的几何位置和大小QRectgeo=widget->geometry();intx=geo.x();//窗口左上角的x坐标inty=geo.y();//窗口左上角的y坐标intw=geo.width();//窗口的宽度inth=geo.height();//窗口的高度width()函数返......
  • 12、QT自定义消息框
     #include"dialog.h"Dialog::Dialog(QWidget*parent):QDialog(parent){resize(260,80);glayout=newQGridLayout(this);labelmsg=newQLabel("自定义消息框");msgButton=newQPushButton("测试操作");labeldis......
  • Qt/C++音视频开发58-逐帧播放/上一帧下一帧/切换播放进度/实时解码
    一、前言逐帧播放是近期增加的功能,之前也一直思考过这个功能该如何实现,对于mdk/qtav等内核组件,可以直接用该组件提供的接口实现即可,而对于ffmpeg,需要自己处理,如果有缓存的数据的话,可以通过在缓存中的数据往前移动往后移动即可。这样就要求做一个比较大的缓存队列,占用一定的内存是......
  • Qt6 c++教程1简介
    1Qt6简介Qt一个跨平台应用程序开发框架,旨在为桌面、嵌入式和移动平台创建具有统一用户界面(UI)的优秀软件应用程序。它为开发人员设计和构建优秀应用程序提供了一套强大的工具,而无需担心平台依赖性。本章主要内容:Qt介绍使用Qt的原因下载和安装Qt从源代码构建Qt61.1Qt简......
  • 如何在 PyQt 中实现异步数据库请求
    需求开发软件的时候不可避免要和数据库发生交互,但是有些SQL请求非常耗时,如果在主线程中发送请求,可能会造成界面卡顿。这篇博客将会介绍一种让数据库请求变得和前端的ajax请求一样简单,且不会阻塞界面的异步请求方法。实现过程在实现异步请求之前,需要先明确一下函数签名:def......