Clion + CMake快速配置Qt开发环境终极版

Clion + CMake快速配置Qt开发环境终极版

前言

Qt是基于CPP语言的一种非常流行的CPP开发框架,包含了图形、网络、线程等众多领域的模块。其强大的性能以及高效的开发效率使得Qt在GUI领域得到广泛的应用。

Clion是JetBrains公司开发的一款功能强大的继承开发环境(IDE)。

CMake是一款跨平台的C/C++编译程序。准确地说,CMake用来生成Makefile文件,Makefile文件用于描述文件之间的依赖关系以及处理命令,当个别文件改动后仅执行必要的处理,而不必重复整个编译过程,大大提高软件开发效率[1]。如果直接写Makefile的话实在是太麻烦(不同操作系统可能执行的指令不一样),所以就使用CMake来生成Makefile文件。

本文要用到的三个名词介绍好了,笔者就说一下本文目的,本文用于介绍如何利用CMake和Clion IDE配置Qt开发环境,让你能在Clion下完美书写Qt。

ps.笔者使用的操作系统为MacOS 10.14.5,Qt版本为Qt5.13,Clion版本为2019.1。

第一步:在Clion下创建C++ Executable项目

新建项目,选择创建"C++ Executable",输入项目名称即可创建,本文创建项目名称为"qt-for-clion"。

第二步:编辑CMakeLists.txt

项目创建后,会自动生成CMakeList.txt用于配置Cmake,我们修改CMakeLists.txt:

cmake_minimum_required(VERSION 3.13)

project(qt-for-clion)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()

find_package(Qt5 COMPONENTS Widgets REQUIRED)

add_executable(qt-for-clion
    mainwindow.ui
    mainwindow.cpp
    main.cpp
    resources.qrc
)

target_link_libraries(qt-for-clion Qt5::Widgets)

上述代码是Qt官方文档中写的使用CMake构建Qt的配置代码[2],具体意思如下:

// 表示该项目至少要求cmake的版本为3.1.0
cmake_minimum_required(VERSION 3.1.0)
// 表示项目名称为“qt-for-clion”
project(qt-for-clion)
//激活自动生成moc文件(通过qmake编译)选项
set(CMAKE_AUTOMOC ON)
//激活自动处理rcc文件(即资源文件,通过qmake编译)选项
set(CMAKE_AUTORCC ON)
//激活自动处理ui文件(通过qmake编译)选项
set(CMAKE_AUTOUIC ON)
// 查找Cmake模块中Qt相关库文件路径
// REQUIRED指示Cmake如果没有找到则终止程序
find_package(Qt5 COMPONENTS Widgets REQUIRED)
// 向项目中添加需要的文件,当然你也可以对ui文件、cpp文件、h文件、qrc文件单独使用SET指令管理,然后添加到add_executable指令中
add_executable(qt-for-clion
    mainwindow.ui
    mainwindow.cpp
    main.cpp
    resources.qrc
)
// 将项目中需要添加的Qt Modules中的库文件与项目进行链接(添加的模块即Qt"*.pro"文件中的Qt+=Module)
target_link_libraries(qt-for-clion Qt5::Widgets)

保存,如未报错,说明CMake配置成功。

第三步:书写Qt代码

在main.cpp中书写Qt相关代码,顺便检查是否有代码提示功能,笔者写了一个窗口:

#include 
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // 让滑动更流顺
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QWidget *widget = new QMainWindow;
    widget->resize(400, 300);
    widget->show();

    return QApplication::exec();
}

执行效果如下:

至此,Clion+CMake+Qt算是整合好了。

第四部:快乐地打开ui文件、qrc文件

虽然整合好了,但是Qt项目中的ui文件、qrc文件打不开怎么办?不能愉快地可视化操作怎么能行?所以我们还是需要用到Qt Creator。

这里笔者就要用到Clion强大的功能了。 依次打开Preferences(偏好设置)》》Tools(工具)》》External Tools,然后点击加号添加工具,编辑内容如下:

  1. Program属性添加为Qt Creator文件的绝对路径;
  2. Arguments属性写为$FileName$,即要打开的文件名
  3. Working directroy属性写为$FileDir$,即为项目所在路径

这样就完成了配置。

测试一下效果,右键点击ui文件或者qrc文件,然后点击External Tools》》QtDesigner,如能将选中的文件通过Qt Creator打开,则为成功。

总结

本文介绍了Qt、Cmake以及Clion,然后讲述了如何将三者整合在一起,以及让Qt项目中的ui文件和qml文件能通过Qt Creator打开。

有一个缺点:没法像Qt Creator一样使用F1键看文档了。

引用

[1] 《CMake是什么?有什么用?》https://blog.csdn.net/Torres_10/article/details/80371425

[2] 《Building with CMake》https://doc.qt.io/qt-5/cmake-manual.html

转载于:https://my.oschina.net/StupidZhe/blog/3079593

你可能感兴趣的:(Clion + CMake快速配置Qt开发环境终极版)