第一步设置系统变量【或用户变量】
打开Clion后选择QT微件可执行文件,右侧如图设置,c++语言标准默认是c++20,个人感觉C++17也可以,看自己需要。
QtCMake前缀路径选择自己qt6安装目录
确定之后,CMakeLists.txt中会自动添加一行内容【如果上面路径不选择,在CMakeLists.txt中手动添加这一行效果是一样的】。
set(CMAKE_PREFIX_PATH "D:/Qt/6.5.3/mingw_64")点运行会出如图小窗口,这是默认代码创建的
因为要制作自己的界面,我们添加2个外部工具
designer
实参:$FileName$
工作目录:$FileDir$
UIC
实参:$FileName$ -o ui_$FileNameWithoutExtension$.h
工作目录:$FileDir$
设置好后确定返回主界面,新建一个Qt UI类
我用的名字是helloUI
确定之后会多出几个文件,右键点击helloui.ui文件,外部工具--designer
出现如下界面
拖一个PushButton到窗体上,text属性随便改
点一下这个按钮【编辑信号/槽】
保存,并关闭设计窗口,回到Clion主界面,右键点击helloui.ui,选择外部工具--UIC
然后打开ui_helloui.h,可以看到里面有一行新代码
QObject::connect(pushButton, SIGNAL(clicked()), helloUI, SLOT(pushButtonClicked()));ui_helloui.h是自动生成的,不需要任何改动。
接下来修改几个文件的代码
helloui.h修改后完整代码
//
// Created by Administrator on 24-8-20.
//
#ifndef HELLOUI_H
#define HELLOUI_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class helloUI; }
QT_END_NAMESPACE
class helloUI : public QWidget {
Q_OBJECT
public:
explicit helloUI(QWidget *parent = nullptr);
~helloUI() override;
private:
Ui::helloUI *ui;
private slots:
void pushButtonClicked();
};
#endif //HELLOUI_H
helloui.cpp修改后代码
//
// Created by Administrator on 24-8-20.
//
// You may need to build the project (run Qt uic code generator) to get "ui_helloUI.h" resolved
#include "helloui.h"
#include "ui_helloUI.h"
#include "QMessageBox"
helloUI::helloUI(QWidget *parent) :
QWidget(parent), ui(new Ui::helloUI) {
ui->setupUi(this);
}
helloUI::~helloUI() {
delete ui;
}
void helloUI::pushButtonClicked() {
QMessageBox::information(this,"Hello World","test hello");
}main.cpp修改后代码
#include <QApplication>
#include <QPushButton>
#include"helloui.h"
int main(int argc, char* argv[])
{
QApplication a(argc, argv);
// QPushButton button("Hello world!", nullptr);
// button.resize(200, 100);
// button.show();
helloUI widget;
widget.show();
return QApplication::exec();
}
修改之后保存,再构建,就可以运行了,结果如下
