安装和第一个helloworld实例什么的的就不讲了,网上很多例子。我们直接就从界面开始将吧,因为也是自己摸索,有错误麻烦指正。
一、创建一个APP
1、build system
在 Qt Creator 中创建项目时,Build system 的选择通常由你使用的项目类型决定。Qt Creator 默认提供了几种构建系统选项,选择哪种构建系统取决于你的项目规模和复杂性。
主要构建系统选项:
qmake: Qt 自带的构建系统。它通过 .pro 文件来描述项目,使用 qmake 命令生成可用于不同构建工具(如 Make,Ninja)的构建文件。 通常是 Qt C++ 项目的默认构建系统,对于小型到中型项目来说是不错的选择。 qmake 具有跨平台支持,能处理相对简单的依赖关系。
CMake: 一个流行且强大的跨平台构建系统生成器。它允许使用声明式方法来描述构建过程,生成各种构建工具(如 Make、Ninja、Visual Studio)的构建文件。 CMake 非常适合大型项目,因为它可以处理复杂的依赖关系、多平台支持、以及不同编译器选项。 对于需要在不同平台上构建、或有大量依赖项的项目,CMake 是一个很好的选择。
如何选择:
小型或中等规模的 Qt 项目: 通常情况下,qmake 就足够了。它易于上手,并且对于大多数简单项目来说性能良好。
大型项目,跨平台支持,或复杂的依赖关系: 选择 CMake。CMake 可以更好地管理大型项目中的复杂依赖关系,并且提供了强大的跨平台支持。
Qt Creator 中的构建系统选择:
当你在 Qt Creator 中创建新的 Qt 项目时,通常会自动选择合适的构建系统。 如果你想更改默认构建系统,你可以在 .pro 文件中进行配置,或者在项目设置中选择相应的构建系统。
2 Kit Selection
Qt C++ 创建项目时,Kit Selection (工具链选择) 是一个非常重要的步骤,它决定了你的项目将会使用哪个编译器、哪个 Qt 版本以及其他编译选项。 正确选择 Kit 对于项目的构建和运行至关重要。
Kit Selection 的作用:
1、指定编译器: 选择 Kit 时,你需要选择一个编译器 (例如,MinGW、MSVC、clang)。不同的编译器有不同的特性和支持的标准,选择不当可能会导致编译错误。
2、指定 Qt 版本: Kit 会关联一个特定的 Qt 版本。 这意味着你的项目将使用该 Qt 版本提供的库和类。 选择错误的 Qt 版本可能会导致你的代码无法运行。
3、指定编译选项: Kit 还会包含一些编译选项,例如优化级别、调试信息等。
4、确保跨平台兼容性: 一个好的 Kit 应该能够在目标平台上正确配置编译器和库,从而确保你的项目在不同的平台上能正确编译和运行。
如何选择合适的 Kit:
考虑你的目标平台: 如果你想在 Windows 上构建,则需要选择包含 Windows 编译器的 Kit;macOS 需要选择包含 Xcode 的 Kit;Linux 需要选择包含 GCC 或其他编译器的 Kit。
1、考虑你的 Qt 版本: 确保选择的 Kit 中的 Qt 版本与你的项目兼容。
2、考虑编译器选项: 如果需要特定编译器选项(例如,优化级别),请选择包含这些选项的 Kit。
3、检查 Kit 的兼容性: 在选择 Kit 之前,最好检查该 Kit 是否与你的项目代码中的库、类和其他依赖关系兼容。
4、考虑调试工具: 有些 Kit 会包含调试器,这有助于你调试你的项目。
5、实际运行测试: 选择 Kit 后,最好进行简单的测试构建和运行,以确保一切正常。
这俩个都可以单独拉出来细细讲一讲,这里大致了解下。
如果没有选择Kit ,这时候Qt Creator 界面如下
点击扳手选择对应的Kit,然后点击Configure Project开始我们的界面编辑之旅。
这里,我们创建了一个interFace项目,Qt Creator 自动帮我们生成了一个interFace.pro文件,一个main.cpp,一个mainwindow类以及一个mainwindow.ui文件
Qt C++ 的 .pro 文件是项目的构建描述文件,Qt Creator 使用它来编译你的项目。
interFace.pro
# 指定项目需要使用的 Qt 模块。 core 是 Qt 的核心模块,gui 是图形用户界面模块。 你需要根据项目
# 实际需求添加其他模块。
QT += core gui
# greaterThan(QT_MAJOR_VERSION, 4): 这是一个条件表达式,检查当前 Qt 版本的主版本号是否大于 4。
# QT_MAJOR_VERSION 是一个预定义变量,保存了 Qt 安装的主版本号。
# QT += widgets: 这是在条件为真(即 Qt 版本主版本号大于 4)时执行的操作,它将 widgets
# 模块添加到项目需要的 Qt 模块列表中。 widgets 模块包含与图形用户界面相关的类和函数。
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# 指定了c++的版本
# Qt 中有很多 CONFIG 选项。 例如 debug, release, warn_on, warn_all, release, profile. 了解这些选项会帮助你更好地控制编译过程。
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in ord