最近在学习C++图形界面编程,本人也算是JetBrains的死忠粉,突然知道JetBrains出了Clion这个编辑工具,立刻就想是不是可以用Clion+QT进行编程,在网上找了很多教程,都没能实现,写的很简单,而且没有完整的教程,下面是本人的配置步骤(实测有效)。
第一步:(安装MinGW版QT)
首先安装MinGW版的Qt5,下载地址:http://download.qt.io/archive/qt/5.7/5.7.1/qt-opensource-windows-x86-mingw530-5.7.1.exe.mirrorlist
如果链接不能用可以从网上找其他的下载地址下载,只要能下载到这个安装包就行:qt-opensource-windows-x86-mingw530-5.7.1.exe
接着进行安装,安装的时候需要注意一点,需要选择以下Tools里面的MinGW5.3.0(默认是不选择的),一直Next下去,直到安装完成。
注意一定要安装这个MinGW版的Qt,本人之前用的MSVC版的Qt ,尝试多次安装都是不成功,后来还是选择了这个MinGW版的QT,如果你安装了MSVC版的也不要紧,可以再安装一个MinGW版的,只要安装路径不要一样就可以(不要和原来自己安装的弄混了)。
第二步:(配置系统变量)
右键“我的电脑”-》“高级系统设置”-》“环境变量”-》“系统变量”-》Path,添加如下四个新的系统变量:
注意:我是安装到了D盘。大家根据自己的安装路径配置如上四个系统变量。
第三步:(在Clion中设置使用MinGW的环境)
没安装Clion的话,自己去安装一下,下载地址:http://www.jetbrains.com/clion/download/#section=windows,安装完成后,可以从网上找一下**码进行**一下,如果长期使用,建议手动**一下,具体**教程:https://blog.****.net/iamjingong/article/details/80876430
启动Clion后,左上角是点击“File”-》“settings”-》“Build,Excution,Deployment”-》“Toolchains”,然后将Environment改为“MinGW”,然后需要选择一下mingw的路径,具体如下图:
第四步:新建一个Clion工程(测试一下能不能用):
新建完成后,Hello工程下会有两个文件:CMakelists.txt、main.cpp
接着我们在工程上右键-》“new”-》“C++ class”,新建mainwindow,如下:
接着继续在工程上右键-》“new”-》“file”,新建mainwindow.ui文件,如下:
下面就是在每个文件中粘贴代码了,每个文件的具体代码如下:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.8) project(Hello) set(CMAKE_CXX_STANDARD 11) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) set(CMAKE_PREFIX_PATH D:/Qt5.7.1/5.7/mingw53_32) #这里需要填入自己安装的路径 find_package(Qt5Widgets) find_package( Qt5Core) find_package( Qt5Gui) set(UI_FILES) set(RC_FILES) set(QRC_FILES) set(SOURCE_FILES main.cpp mainwindow.cpp mainwindow.h) add_executable(Hello WIN32 ${RC_FILES}${SOURCE_FILES}${UI_FILES}${QRC_FILES}) target_link_libraries(Hello Qt5::Widgets) qt5_use_modules(Hello Core Widgets Gui)
注意在set(CMAKE_PREFIX_PATH D:/Qt5.7.1/5.7/mingw53_32) 这行语句中,需要改为自己的安装路径。
main.cpp
#include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; }
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
mainwindow.ui
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>400</width> <height>300</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralWidget"> <widget class="QLabel" name="label"> <property name="geometry"> <rect> <x>50</x> <y>120</y> <width>311</width> <height>16</height> </rect> </property> <property name="text"> <string>哈哈,Clion+Qt配置成功!</string> </property> </widget> </widget> <widget class="QMenuBar" name="menuBar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>400</width> <height>23</height> </rect> </property> </widget> <widget class="QToolBar" name="mainToolBar"> <attribute name="toolBarArea"> <enum>TopToolBarArea</enum> </attribute> <attribute name="toolBarBreak"> <bool>false</bool> </attribute> </widget> <widget class="QStatusBar" name="statusBar"/> </widget> <layoutdefault spacing="6" margin="11"/> <resources/> <connections/> </ui>
然后运行项目就行啦~
大功告成:
该项目下载地址:https://download.****.net/download/iamjingong/10512283 (需要1积分,现在****上传文件至少要设置一分,可能是为了更好的保护开发者的权益)