创建项目使您能够:
- 将文件分组在一起
- 添加自定义构建步骤
- 包括表格和资源文件
- 指定运行应用程序的设置
在向导的帮助下,可以在Qt Creator中设置新项目,该向导将指导您逐步完成项目创建过程。向导会提示您输入该特定类型所需的设置,并为您创建必要的文件。您可以添加自己的自定义向导,以标准话子项目和类添加到项目的方式。
您也可以使用向导来创建使用qmake、Qbs或CMake的普通C或c++项目,但不使用Qt库。
此外,还可以将项目导入为通用项目不使用qmake、Qbs或CMake。这使您能够将Qt Creator用作代码编辑器,并完全控制用于构建项目的步骤和命令。
您可以为安装工具设备作为Qt分布的一部分。这个工具箱并自动设置已安装设备类型的生成和运行设置。但是,您可能需要在设备上安装和配置一些附加软件,以便能够从开发PC连接到它们。
选择构建系统
大多数Qt Creator项目向导都允许您选择用于构建项目的构建系统:qmake、cmake、Qbs。如果您没有选择,则项目将设置为使用qmake
qmake是一个用于构建自动化的跨平台系统,它有助于简化跨不同平台的的开发项目的构建过程。qmake自动生成构建配置,这样配置每个配置只需要几行信息。qmake是在安装Qt时安装和配置的。要使用其他受支持的生成系统之一,您需要对其进设置
CMake是qmake的替代方案,可以自动生成构建配置。
Meson是一个开源的构建系统,意味着它既要非常快,更重要的是,要尽可能的用户友好。Meson的主要设计要点是,开发人员花在编写或调试构建定义上的每一秒都是浪费的一秒。等待构建系统真正开始编译代码所花费的每一秒也是如此。有关更多信息,请参见设置Meson。
Qbs是一个多功能的构建工具,它从高级项目描述(如qmake或CMake do)生成构建图,并在低级构建图(如make does)中执行命令。有关更多信息,请参见设置Qbs。
若要更改项目目录的位置,并指定构建和运行项目的设置,请选择** Tools > Options > Build & Run > General**。CMake选项卡包含额外的CMake设置。您可以在Tools > Options > Kits > CMake和**Tools > Options > Qbs.**中找到更多的设置CMake。
若要为不同的目标平台指定生成和运行设置,请选择“项目”。有关选项的更多信息,请参见指定生成设置。
使用项目向导
第一步,为项目选择一个模板。您可以**筛选模板(1)**以仅查看适用于特定目标平台的模板。
接下来,选择项目的位置并指定其设置。
完成这些步骤后,Qt Creator会根据向导的定义,自动生成包含所需标头、源文件、用户界面描述和项目文件的项目。
例如,如果选择创建Qt快速应用程序,Qt Creator将生成一个QML文件,您可以在设计模式下对其进行修改。
选择项目类型
可以使用向导创建以下类型的项目:
-
Application (Qt Quick)
- Qt Quick Application - Empty
- 创建一个空的Qt Quick应用程序,使用Qt Quick 2类型。
- 您可以构建应用程序并将其部署到桌面、嵌入式和移动目标平台上。
- Qt Quick Application - Scroll, Stack, or Swipe
- 创建一个Qt Quick应用程序,使用Qt Quick控件来实现可滚动列表(需要Qt 5.9或更高版本)或一组带有基于堆栈或基于滑动导航模型的页面(需要Qt 5.7或更高版本)。
- Qt Quick Application - Empty
-
Application (Qt)
- Qt Widgets Application(Qt小部件应用程序)
- 使用Qt Designer forms设计基于Qt widget的桌面用户界面,使用c++实现应用程序逻辑
- Qt Console Application
- 使用单个main.cpp文件
- Qt Widgets Application(Qt小部件应用程序)
-
Application (Qt for Python)
- Qt for Python Application - Empty, Window, Window (UI file), or Qt Quick Application (Empty)
- 创建一个用于Python的Qt应用程序,无论是否有基于widget的UI,它只包含QApplication的主代码或一个空窗口。或者,您可以创建一个空的Qt Quick应用程序。
- Qt for Python Application - Empty, Window, Window (UI file), or Qt Quick Application (Empty)
-
Application (Qt for MCU)
- MCU Support Application
- 使用Qt QML和Qt Quick控件类型的子集(由用于MCU的Qt所支持)创建一个应用程序,您可以在MCU板上部署、运行和调试这些控件。有关更多信息,请参见连接mcu。
- MCU Support Application
-
Libraries
- C++ Library
- 基于qmake的共享或静态c++库
- Qt Quick 2 Extension Plugin(Qt Quick 2扩展插件)
- 这是一个c++插件,可以通过使用QQmlEngine类来提供可以动态加载到Qt Quick 2应用程序中的扩展
- Qt Creator插件
- C++ Library
-
其他项目
- Auto Test Project(自动测试项目)
- 具有Qt或Google测试模板代码的项目。有关详细信息,请参阅创建测试 .
- Qt Quick UI Prototype(Qt快速用户界面原型)
- 使用包含主视图的单个QML文件。您可以在预览工具中查看Qt快速UI原型,而不需要构建它们。Qt快速UI原型不能部署到嵌入式或移动目标平台上。对于这些平台,创建一个Qt快速应用程序。
- Qt Custom Designer Widgets(Qt自定义设计器控件)
- 自定义Qt设计器小部件或小部件集合
- 空的qmake项目
- 基于qmake但不使用任何默认类的空qmake项目
- Subdirs项目
- 可以将qmake项目结构为树形层次结构的子项目
- 代码段
- 从代码片段创建一个qmake项目。修复包含代码片段的错误报告时,可以将该代码片段放入项目中进行编译和检查。
- Auto Test Project(自动测试项目)
-
非Qt项目
-
普通的C或c++应用程序(Plain C or C++ Application)
- 普通的C或c++应用程序,使用qmake, Qbs或CMake,但不使用Qt库
-
Nim or Nimble Applications (实验)
- 使用Nim或使用Nimble但不使用Qt库的Nim或Nimble应用程序
- 有关详细信息,请参阅设置Nimble .
-
-
导入项目
- 来自版本控制系统的项目
- 从受支持的版本控制系统导入项目。有关如何在Qt Creator中集成版本控制系统的更多信息,请参阅使用版本控制系统
- 导入为qmake项目
- 导入不使用任何受支持的生成系统的现有项目:qmake、Qbs、CMake或Autotools。向导将创建一个qmake.pro文件,该文件使您能够将Qt Creator用作代码编辑器,并作为调试和分析工具的启动程序。但是,如果要生成项目,则可能需要编辑生成的.pro文件。
- 导入现有项目
- 导入不使用任何受支持的生成系统的现有项目:qmake、Qbs、CMake或Autotools。这使您能够将Qt Creator用作代码编辑器
- 来自版本控制系统的项目
要创建一个新项目,请选择File > New File or Project,并选择项目的类型。向导对话框的内容取决于项目类型和您在工具包选择对话框中选择的工具包。按照向导的说明操作。
为Python应用程序创建基于窗口小部件的Qt
不写python,跳过
将文件添加到项目
也可以使用向导将单个文件添加到项目中。可以创建以下类型的文件:
-
C/C++
- C或c++源文件和头文件
-
Qt
- Qt项目模型源文件和头文件,你可以使用它们来创建派生自QAbstractItemModel, QAbstractTableModel,或QAbstractListModel的类。
- Qt设计器窗体和Qt设计器窗体类,它们指定基于Qt小部件的项目中的用户界面部分
- Qt资源文件,它允许你在应用程序可执行文件中存储二进制文件
- QML文件,它指定Qt快速项目中的项。QML文件(Qt Quick 2)创建一个导入Qt Quick 2.0的QML文件,Qt Quick UI文件创建一个UI表单(. UI . QML)和相应的QML文件。
- JavaScript文件,你可以用它在Qt快速项目中编写应用逻辑
-
模型和状态图
-
GLSL
- 在Qt快速项目和基于Qt小部件的项目中定义片段和顶点着色器的GLSL文件
-
通用
- 空文件
- 使用临时文件的暂存缓冲区。您可以创建这种类型的文件,用于临时存储您不打算保存的信息
-
Java
- 可用于创建Java类的Java类文件。
-
Python
- Python类和源文件,可用于创建使用UTF-8编码的Python类和脚本。
-
Nim(实验)
- Nim脚本文件
- 使用UTF-8编码的Nim源文件。
创建c++类
c++类向导允许您为可以添加到c++项目的新类创建c++头文件和源文件。指定类名、基类以及类的头文件和源文件。
向导支持命名空间。要使用命名空间,请在class name字段中输入限定的类名。例如:MyNamespace:: MySubNamespace:: MyClass
。在输入时,向导会提示现有的名称空间和类名称。
头文件和源文件的名称基于类名。若要更改文件的默认后缀,请选择Tools > Options > c++ > file Naming
在**License template **字段中,您可以使用预定义的向导变量来指定要在源文件和头文件中使用的License的路径和文件名。
您可以创建自己的项目和类向导。有关更多信息,请参见添加新的自定义向导。
创建资源文件
Qt Creator支持Qt资源系统,它是一种独立于平台的机制,用于在应用程序的可执行文件中存储文件。
向导将创建一个资源集合文件(.qrc),您可以在资源编辑器中管理该文件。
选择Add Files查找并添加单个文件
要在源目录树中按字母升序列出文件夹和文件,请在上下文菜单中选择Sort Alphabetically
默认情况下,应用程序中的资源可以以与源目录树中相同的文件名访问,带有源目录树
,或者通过带有qrc方案的URL访问。要为.qrc文件中的所有文件指定路径前缀,请选择Add prefix并在prefix字段中输入前缀。
有些资源需要根据用户的区域设置进行更改,例如翻译文件或图标。可以在中指定区域设置Language字段
选择Remove从资源集合中删除选定的文件。在Remove File对话框中,选择Delete file permanently复选框从文件系统中删除文件。要删除在文件系统中找不到的文件,请选择Remove Missing Files .
上述功能也可以在Projects视图的上下文菜单中使用。
创建OpenGL片段和项目着色器
Qt提供了与OpenGL实现在所有平台上集成的支持,这允许你在更传统的用户界面的同时显示硬件加速的3D图形。更多信息,请参阅Qt GUI。
你可以使用QOpenGLShader类来编译OpenGL着色语言(GLSL)和OpenGL/ES着色语言(GLSL/ES)编写的OpenGL着色器。.QOpenGLShader
和QOpenGLShaderProgram
让你远离编译和链接顶点和片段着色器的细节。
你可以使用Qt Creator代码编辑器在GLSL或GLSL/ES中编写片段和顶点着色器。代码编辑器为文件提供语法高亮显示和代码完成功能。
在项目视图中显示其他文件类型
Qt Creator决定是否显示项目文件夹中的文件项目视图取决于文件类型(.pro、.pri、.cpp、.h、.qrc等)。要显示其他类型的文件,请编辑项目文件。将文件名添加为DISTFILES变量。也可以使用通配符。
例如,以下代码指定文本文件显示在项目视图:
DISTFILES += *.txt
这也使得文件在定位器中可用。
将子项目添加到项目
除了Qt库之外,您还可以将您的应用程序链接到其他库,比如系统库或您自己的库。此外,您自己的库可能链接到其他库。为了能够编译项目,必须将库添加到项目中。这还支持库的代码自动完成和语法高亮显示。将库添加到项目的过程取决于您使用的构建系统。
当您创建一个新项目时,您可以在项目管理对话框中将其作为子项目添加到另一个项目中。但是,根项目必须指定qmake使用subdirs模板来构建项目。
-
要创建一个根项目,选择File > New File or Project > Other Project > Subdirs Project > Choose.
-
在Summary页面上,选择Finish & Add Subproject来创建根项目并添加另一个项目,例如c++库。
-
向导创建一个项目文件(.pro),该文件定义subdirs模板和作为subdirs变量值添加的子项目。它还为子项目添加了所有必要的文件。
-
要创建更多的子项目,在项目视图中右键单击项目名称以打开上下文菜单,并选择New Subproject。按照新建子项目向导中的步骤创建子项目。
-
要将现有项目添加为子项目,请在上下文菜单中选择添加现有项目。在“文件浏览器”对话框中,找到子项目。
-
要删除子项目,在Projects视图中右键单击项目名称,并在上下文菜单中选择删除项目。
-
若要指定依赖项,请使用添加库向导。有关更多信息,请参见向项目中添加库。
将键盘快捷键绑定到向导
如果您经常使用向导,则可以将自定义键盘快捷键绑定到该向导。触发这个键盘快捷键将直接打开向导,而不需要导航到** File > New File or Project**。
键盘快捷键向导可以在** Tools > Options > Environment > Keyboard > Wizard**。所有的向导操作都以Impl开始。