CLion+Qt5环境配置
2015-11-17 10:38
597 查看
Qt本身使用qmake进行编译的,但是CLion使用cmake进行组织管理,因此,在CLion中使用Qt需要一些特殊的cmake设置。
Widget.h最终代码如下:
Widget.cpp最终代码如下:
shift+F10,运行
新建工程
打开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,运行
相关文章推荐
- qt 信号连接方式
- Ⅰ.2.5 如何使用Qt Signal Handles
- Ⅰ.2.4 如何使用Qt Convenience API
- Ⅰ.2.3 如何访问Qt枚举型
- Ⅰ.2.2 如何调用Qt对象的函数
- Ⅰ.2.1 如何访问Qt对象
- 在Qt中怎样显示ASCII码大于127的字符
- Qt环境搭建(Visual Studio)
- Qt环境搭建(Visual Studio)
- QT 的信号与槽
- 44篇QT blog(包括按钮发黑、内存泄漏、程序退出等一系列问题)和24篇QT blog
- Ⅰ.2.6 如何测试Qt Widgets
- QStandardItemModel角色控制及QTreeView添加不同的右键菜单
- 关于Qt中使用线程的时候函数具体在哪个线程中运行的问题
- Qt在mainwindow下代码添加控件不能显示的问题
- Qt封装SQLite的操作
- QListWidget、QTreeWidget 和 QTableWidget
- 自动化测试培训:设计和实现分布式QTP调用
- qt usb热插拔
- Qt使用QStackedWidget实现堆栈窗口