qt

1.窗口

main.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <QApplication>
#include <QWidget>
#include <QDebug>

// 1. 定义类(包含声明与实现)
class SimpleWindow : public QWidget {
Q_OBJECT // 开启信号槽/事件系统支持

public:
SimpleWindow(QWidget *parent = nullptr) : QWidget(parent) {
setWindowTitle("Minimal Qt Window");
resize(300, 200);
}

protected:
// 重写最简单的关闭事件
void closeEvent(QCloseEvent *event) override {
qDebug() << "窗口正在关闭...";
QWidget::closeEvent(event);
}
};

// 2. 启动程序
int main(int argc, char *argv[]) {
QApplication a(argc, argv);

SimpleWindow w;
w.show();

return a.exec();
}

// 3. 非常重要:如果你在单个 .cpp 中使用 Q_OBJECT 宏,
// 必须在文件末尾包含 moc 文件(文件名必须与当前文件名一致)
#include "main.moc"

2.多文件的形式创建窗口

1. main.cpp

1
2
3
4
5
6
7
8
9
10
11
12
#include <QApplication>
#include "widget.h"

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

Widget w;
w.show();

return a.exec();
}

2. widget.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

class Widget : public QWidget {
Q_OBJECT

public:
Widget(QWidget *parent = nullptr);
~Widget();
};

#endif // WIDGET_H

3. widget.cpp

1
2
3
4
5
6
7
8
9
10
11
12
#include "widget.h"

Widget::Widget(QWidget *parent) : QWidget(parent) {
// 设置最基本的窗口属性
setWindowTitle("Minimal Framework");
resize(400, 300);
}

Widget::~Widget() {
// 析构函数,目前为空
}

多文件与ui文件的形式创建窗口

Qt Create创建项目的默认模板就是了