学习QT之解决方案和项目结构

本文使用QT5创建工程, 具体版本为 QT5.14.2, 包含的 QT Creator 为 4.11.1

1. 创建默认QT工程

1. 打开 QT Creator(4.11.1 社区版) , 文件 -> 新建:

image-202205031743525

2. 设置项目名称和选择存放路径:

image-20220503220815575

3. 选择 Build System

此处可选的有:

  • CMake :
  • qmake :
  • Qbs :

此处先使用默认项.image-20220503174457898

4. 设置主窗口的信息:

  • class name 及 base class
  • header file 及 source file
  • 主窗口ui : mainwindow.ui

image-20220503174654805

5. 选择默认使用本地语言

此处选择了"简体中文", 后续可增加配置

image-20220503221151462

6. 选择编译套件 Kits:

image-20220503221222185

7. 最后预览项目, 可选择 git 作为版本选择

image-20220503221243586

完成后默认为 编辑 main.cpp界面:

image-20220503233226039

点击左下角的运行 或者 Ctrl + R, 运行项目, 可看到一个空界面的 App:

image-20220503181200390

2. 项目目录及文件

在 “编辑” 一栏中可看到项目目录及文件:

image-20220503233247821

概要说明如下:

FirstQt5 : 项目名称及git分支

- CMakeList.txt : CMakeList内容
- FirstQt5 : 工程名称
  - Header Files : 头文件目录
    - mainwindow.h : 主窗口头文件
  - Source Files : 源文件目录
    - main.cpp : QT App应用入口源文件
    - mainwindow.cpp : 主窗口源文件
  - FirstQT_zh_CN.ts : (此文件在文件管理中可看到)项目本地化语言文件,此处为 zh_CN 简体中文文件
  - mainwindow.ui : 主界面的ui, 可使用界面化鼠标操作
- CMake Modlues : CMake 模块 QT安装目录
  - <Other Location>
    - C:\QT

如果我们创建项目的时候不勾选 “Generate form”, 如下图:

image-20220504183757825

则项目结构如下, 少了一个 mainwindow.ui,

image-20220504184034842

2.1 CMakeList.txt 文件

文件内容如下, 文件内容直接在下面使用注释说明.

# cmake 最低要求版本 3.5, 测试电脑安装为 3.23.1
cmake_minimum_required(VERSION 3.5)
# 项目配置
project(FirstQt5 LANGUAGES CXX)
# CMAKE配置项: 包含当前目录 on
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# CMAKE配置项: 是否为Qt目标自动处理 uic 
set(CMAKE_AUTOUIC ON)
# CMAKE配置项: 是否为Qt目标自动处理 moc
set(CMAKE_AUTOMOC ON)
# CMAKE配置项: 是否为Qt目标自动处理 rcc
set(CMAKE_AUTORCC ON)
# 要求构建这个目标的C++标准的特征版本 C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
# They need to be set before the find_package(Qt5 ...) call.

#if(ANDROID)
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
#    if (ANDROID_ABI STREQUAL "armeabi-v7a")
#        set(ANDROID_EXTRA_LIBS
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
#    endif()
#endif()

# 查找package
find_package(Qt5 COMPONENTS Widgets LinguistTools REQUIRED)
# 设置变量 TS_FILES 为 FirstQt5_zh_CN.ts 语言文件
set(TS_FILES FirstQt5_zh_CN.ts)
# 添加包含的文件
if(ANDROID)
  add_library(FirstQt5 SHARED
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
    ${TS_FILES}
  )
else()
  add_executable(FirstQt5
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
    ${TS_FILES}
  )
endif()
# 将目标文件与库文件进行链接
target_link_libraries(FirstQt5 PRIVATE Qt5::Widgets)
# 处理给定的源文件(目录或单个文件)以生成Qt Linguist .ts文件, 其中 CMAKE_SOURCE_DIR 为工程顶层目录
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})

2.2 Source Files

源文件包含两个:

  • main.cpp : qt 应用的主函数入口
  • mainwindow.cpp : 应用的主窗口

其中 main.cpp 如下:


                
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DevWiki

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值