# clion 开发qt5or6模板
**Repository Path**: baimaoww/template_qtclion
## Basic Information
- **Project Name**: clion 开发qt5or6模板
- **Description**: 使用clion高效的开发qt
- **Primary Language**: C++
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 10
- **Created**: 2025-10-03
- **Last Updated**: 2025-10-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Clion 开发qt应用程序 模板
## 说明
本人环境:
1. 操作系统: windows11
2. qt版本: qt5/qt6
3. clion版本 2021.3
该cmake文件可以实现 **多个资源文件在不同子目录**的编译,详细见 CMakeLists.txt.
QT creator 实在不好用,CLion配合cmake完美代替 ta 。C++ 多个源码文件挤在一起不好看,很乱。通过cmake可以完美解决这一个痛点,如:

完整项目参考:https://gitee.com/yuexingqin/ysMusic
### 更新说明 2022年5月24日
1. 设置 qtcmake 前缀 合作开发中非常麻烦,亲测将 `Qt/x.xx/mingwXX/` 加入环境变量即可,就无需设置了,例如本人的 `D:\Software\SDK\Qt\5.15.2\mingw81_64`
2. `针对windows 平台复制 dll 到 build 目录下 ` cmake 这一段其实也不需要,将 `Qt/x.xx/mingwXX/bin`加入环境变量即可,例如:`D:\Software\SDK\Qt\5.15.2\mingw81_64\bin`
大伙可以参考我的

### 更新说明
根据我长时间的使用,这个模板还是不好用!!!所以还是改进了一些。
1. 无需 手动编译 ui文件 ,开启了 `CMAKE_AUTOUIC`, 他在build/xxx_include 目录下 自动编译了 ui文件。但是如果我们提升了某一个widget,那么如果使用相对路径引入头文件会很麻烦,这里解决办法是 将他添加到include。这样少了一个文件 舒服一点
2. 手动添加源文件很烦,这里使用 file()命令 找到源文件
> 添加的新的文件 请重新加载一下cmake
# qt 安装配置
安装需要qt版本,特别注意需要选择安装额外的minGW 编译器,本模板无法支持 msvc编译器
这里安装你对应的 minGW 即可

## 使用本模板
`git clone https://gitee.com/yuexingqin/template_qtclion.git`
下载到本地,删除 .git 文件,使用Clion 打开本项目 ,进行下文配置
# Clion 设置
### 工具链设置
设置qt mingw 目录即可,clion会自动检索
cmake 添加cmake以及release 模式
## 添加外部工具
> UIC 工具无需添加
添加界面设计工具,他们的路径一般在你的qt安装目录下的:`安装目录\x.x.x\mingw_xxx\bin\xxx.xx`,详细设置 看下文
### designer
作用:设计界面
设置如下:
实参:`$FileName$`
工作目录:`$FileDir$`
## 如何新建设计窗口类
在src的某个子目录 添加ui类


右键ui文件 选择 External Tools -> designer

就可以设计界面了,每次设计完成需要手动 uic 编译一下 ui文件,和designer操作方法一样
# cmake 文件说明
## 修改cmake为你的配置
你至少需要了解或修改下面罗列的项目。
### 项目名称
```cmake
# 这里修改为你的项目名称
project(template_qt)
```
### 设置 qtcmake 前缀
**(注意 该项目无需设置了 将下面路径加入环境变量即可)**
```cmake
# 这里修改为 你的qt 路径
set(CMAKE_PREFIX_PATH "D:/Software/SDK/Qt/6.2.3/mingw_64")
```
注意是 这里要填写 为你qt安装目录对于版本下的mingw,而不是 tool/bin/下的mingw64
# 设置qt大版本号
```cmake
# 设置qt版本号 如 5 or 6
set(QTVersion 5)
```
### 添加你需要的qt依赖包
```cmake
# 这里修改为你的qt版本
# 同时添加你的需要的qt依赖
find_package(Qt6
COMPONENTS
Core
Gui
Widgets
REQUIRED
)
```
这里会让cmake寻找对应的dll并且复制到 输出目录中。
### 添加额外的 源文件
cmake 使用 file命令已经帮你找出了 src所有的资源文件,但是 类似与 qrc的资源文件需要你手动添加一下,
```cmake
#添加额外的 源文件 例如资源文件等
LIST(APPEND SRCS res.qrc)
```
### 添加 头文件
ui.h 头文件已经添加到include中,但是如果你提升了一个widget,那么提升的这个类的头文件需要你手动添加一下。
```cmake
# 这里添加 头文件目录
include_directories(src/subWidget)
```
当然你有其他头文件,也是可以添加到这后面的
### 添加你需要连接库
```cmake
# 添加你需要连接的库
target_link_libraries(${PROJECT_NAME}
Qt::Core
Qt::Gui
Qt::Widgets
)
```
# 其他
### bug
MainWindow 类需要在这个后面 添加行代码
```xml
test
```
加载后面就好了
` `
### 资源文件 qrc
当作源文件添加到 `SRCS`中即可
# windows导出qt 应用
1. 使用`windeployqt xx.exe` 导出 所需要依赖
2. Enigma Virtual Box 打包即可