您的位置:首页 > 编程语言 > Qt开发

CLion+Qt5环境配置

2015-11-17 10:38 597 查看
Qt本身使用qmake进行编译的,但是CLion使用cmake进行组织管理,因此,在CLion中使用Qt需要一些特殊的cmake设置。

新建工程

打开CLion,新建project,工程名称为Widget


修改cmakelist文件

新建的工程,自动包含一个cmakelist.txt和main.cpp文件。要使工程可以使用Qt5的UI和信号槽机制,则需要分别包含UIC功能和MOC。打开cmakelist.txt,修改如下

cmake_minimum_required(VERSION 3.3)
project(Widget)

set(CMAKE_INCLUDE_CURRENT_DIR  ON)
#打开Qt的MOC功能和UI文件处理功能
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
#查找Qt的库
find_package(Qt5Widgets)

set(SOURCE_FILES main.cpp Widget.cpp Widget.h)

add_executable(Widget ${SOURCE_FILES})

target_link_libraries(Widget Qt5::Widgets)


新建Qt的UI文件

打开Qt designer,设计UI,


新建对UI的处理类Widget



Widget.h最终代码如下:

#include <QtWidgets/QWidget>
#include "ui_widget.h"

class Widget : public QWidget {
Q_OBJECT
public:
Widget(QWidget* parent = 0);
~Widget();

private slots:
void slotPushButton();

private:
Ui::Widget ui;
int m_iCount;
};


Widget.cpp最终代码如下:

#include "Widget.h"

Widget::Widget(QWidget* parent)
: QWidget(parent)
{
m_iCount = 0;
ui.setupUi(this);
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(slotPushButton()));
}

Widget::~Widget() {

}

void Widget::slotPushButton() {
++m_iCount;
ui.lineEdit->setText(QString::number(m_iCount));
}


修改main文件

main.cpp最终结果为:

#include <QtWidgets/QApplication>
#include "Widget.h"

int main(int argc, char* argv[]) {
QApplication a(argc, argv);

Widget w;
w.setGeometry(500, 200, 320, 240);
w.show();
return a.exec();
}


编译运行

Ctrl+F9,编译

shift+F10,运行

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: