共计1950个字符,预计需要花费5分钟才能阅读完成。
安装 Qt
下载
为了使用 CLion 来开发 Qt 程序,你总得有 Qt 编译器吧。那咱就就来先下载 Qt。
打开 Qt 的中文官网:https://www.qt.io/zh-cn/
点击右上角的 Download and Try:
点击 社区用户 - 探索 Qt 社区版:
往下滑,找到:
然后这里下载自己系统的版本就行了:
以上留个记录是为了防止以后网站改版找不到下载位置了,直接到最后一步的下载地址下载更快哦:https://www.qt.io/download-qt-installer-oss
安装
下载好以后,打开安装包安装即可:
这里可以参考其他博主教程,自定义安装来安装自己想要的组件。
安装 CLion
CLion 是 C 语言 的 IDE 编译器,非常好用。
从这里下载 最新的 CLion,然后傻瓜式的安装即可:
新建 Qt 项目
我们打开 CLion,找到左上角 文件 - 新建 - 项目:
找到左边的 Qt 微件可执行文件:
这里 Qt CMake 前缀路径 选择你的 Qt 安装目录下的 Qt 目录 \Qt 版本号 \mingw_64,例如我这里是 QT\6.7.0\mingw_64 即可。然后我们点击右下角的创建就能创建项目了!
新建好项目后,我们点击项目文件夹下的 main.cpp:
我这里提示项目未配置,点击 修正 - 选择 CMakeLists.txt 即可:
如果没有其他问题的话,我们点击右上角的运行,会成功编译并且显示一个基本的窗口:
这就说明我的项目已经可以运行啦!
重构项目
我们可以发现,默认新建的项目文件结构比较简单,全部都在根目录下,跟传统 C 程序的布局不太一样。
在根目录下创建如下目录:
目录名 | 作用 |
---|---|
src | 原文件,如.cpp |
include | 头文件,如.h |
form | 界面文件,如.ui .h .cpp |
lib | 存放第三方库 |
resource | 存放资源文件 |
build | 编译输出文件 |
顺便再把 main.cpp 放进 src 目录里。
接着我们打开 CMakeLists.txt,添加以下语句:
# 搜索 src 目录
aux_source_directory(src SRC)
# 搜索 form 目录
aux_source_directory(form FORM)
# 包含 include 目录下的所有文件
include_directories(include)
# 包含 form 目录下的头文件
include_directories(form)
# 编译所有 src 和 form 目录下的文件
# 注意:这语句本来就有 只需修改为“add_executable(你的项目名称 ${SRC} ${FORM})”即可
add_executable(3DSystemHelper ${SRC} ${FORM})
# 设置编译输出的目录为 build 目录
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
此时重新构建这个项目,可以发现 build 目录下已经生成的可运行文件:
这个也是可以运行的哦!
然后我们在 form 目录下新建个界面试试:
然后修改 main.cpp 文件为:
#include "mainwindow.h"
#include "QApplication"
int main(int argc, char *argv[]) {QApplication a(argc, argv);
// 创建 mainwindow 对象
mainwindow mw;
// 显示窗口
mw.show();
return QApplication::exec();}
运行通过:
遇到的问题
找不到 libxxx.dll 文件
方法一:手动添加
我们在 build 目录下运行编译好的 exe 文件时可能会遇到这种问题。
这是因为没有使用 Qt 的 动态链接库。我们找到 QT 目录 \QT 版本号 \mingw_64\bin 目录,例如在我这是 QT\6.7.0\mingw_64\bin,进入并在这创建 cmd 窗口,输入:
# 加载环境
qtenv2.bat
# 动态链接库
windeployqt 你的文件.exe
然后 build 目录下就生成了很多其他文件,这时运行就成了:
方法二:修改 CMakeLists.txt
在 CMakeLists.txt 添加以下代码,将 3DSystemHelper
修改为你生成可执行文件的名称:
add_custom_command(TARGET 3DSystemHelper POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Start deploy Qt..."
COMMAND ${CMAKE_PREFIX_PATH}/bin/qtenv2.bat
COMMAND windeployqt ${EXECUTABLE_OUTPUT_PATH}/3DSystemHelper.exe
COMMAND ${CMAKE_COMMAND} -E echo "Deploy Qt completed!"
)
然后重新构建一下就好了:
结果还是一样的,可以运行了: