/learn_qt

😉在Clion中快速开始c++QT项目,具有良好的项目路径

Primary LanguageC++GNU General Public License v3.0GPL-3.0

学习 qt c++

😉在Clion中快速开始c++QT项目,具有良好的项目路径

  • 快速编写新功能

    • 单独在 src/Forms文件夹 里创建一个 QWidget.ui
    • 使用 qt_designer 编辑ui文件
    • 然后在 mainwindow 里面将 main_layout 指向这个 QWidget 即可
  • 示例1:tcp服务器_客户端

    • tcp服务器
  • 示例2:请求网页下载文件并显示进度

    • 还没有实现下面两个功能,已经在代码里面标记了
    • 你可以完成下面的功能来检验自己是否能看懂这个项目
    • TODO 1 请求附带 header
    • TODO 2 根据 combox 更改请求方式
    • 请求网页下载显示进度功能

0.项目目录

一个好的结构可以让项目更好和更容易的编写下去

需要先约定一下各个文件目录的作用

  • src文件夹用于保存所有的qt源文件
    • Forms文件夹存放UI文件
    • Headers文件夹存放.h头文件
    • res文件夹存放.qrc以及资源文件
    • cpp文件直接放在src目录下
      • 将cpp里面导入ui的前面加上Forms/
      • 第一次会报错,但是编译后就可以正常运行了
      • 例如#include "Forms/ui_MainWindow.h"
  • include文件夹存放第三方库的头文件

项目目录

1.环境配置

项目是否能够正常启动往往是拦路虎

这里下载安装的版本是Qt5.14.2,里面选择exe结尾的即可 https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.14/5.14.2/

需要知道qt的安装路径 例如:C:/Qt/Qt5.14.2/5.14.2/mingw73_64/bin

  1. 添加https支持

    • 如果不进行这一步,就下载和访问不了https的文件
    • 下载 http://slproweb.com/products/Win32OpenSSL.html 里面的 Win64 OpenSSL v1.1.1s Light
    • 安装步骤里面选择的时候选择复制到安装路径下
    • 安装结束后到这个软件的安装路径下找到 libcrypto-1_1-x64.dlllibssl-1_1-x64.dll 文件
    • libcrypto-1_1-x64.dlllibssl-1_1-x64.dll 移动到 qt的安装路径
  2. 添加环境变量 qt的安装路径

  3. 将clion的编译(锤子旁边的属性里面work路径改为 qt的安装路径 )

  4. 在clion设置中添加external_tools,需要写上5个参数点击 ok

  5. cmake文件

cmake_minimum_required(VERSION 3.19)
project(learn_qt)

set(CMAKE_CXX_STANDARD 14)
# 添加c++额外参数
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(QT_VERSION 5)
set(REQUIRED_LIBS Core Gui Widgets)
set(REQUIRED_LIBS_QUALIFIED Qt5::Core Qt5::Gui Qt5::Widgets)
find_package(Qt${QT_VERSION} COMPONENTS ${REQUIRED_LIBS} REQUIRED)

# 导入的头文件
include_directories(
        ${PROJECT_SOURCE_DIR}/include
        ${PROJECT_SOURCE_DIR}/src/Headers
)

# 每次添加新的文件可以在clion里面右击 `CMakeLists.txt` 文件,选择 `Reload CMake Project`
# 从而不需要修改这里面的内容
file(GLOB DIR "src/*.cpp" "src/Headers/*.h" "src/Forms/*.ui" "src/res/*.qrc")
add_executable(${PROJECT_NAME}
        # WIN32 # 不要程序有黑色的命令行出现,但是加上这个就不能qDebug()了,TODO 可以发布的时候修改这里
        ${DIR})

target_link_libraries(${PROJECT_NAME} ${REQUIRED_LIBS_QUALIFIED})
  1. 点击运行

2.发布

# 将编译后的单独的exe文件复制到新的路径下
# 命令行输入
windeployqt xxx.exe
# 将 `libcrypto-1_1-x64.dll` 和 `libssl-1_1-x64.dll` 移动到这个文件夹中
# 压缩后就可以发布

参考链接