CLion+Qt5环境配置

本文介绍如何在CLion环境中配置Qt5进行开发,包括设置cmake文件以支持Qt5 UI和信号槽机制,创建UI文件并在代码中实现信号槽连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

新建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;
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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));
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

修改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();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

编译运行

Ctrl+F9,编译 
shift+F10,运行 
这里写图片描述


转自:http://blog.csdn.net/chlk118/article/details/49884335

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值