1.
QT += core gui // 将核心和GUI模块添加到项目中
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets // 如果Qt的主版本号大于4,则添加widgets模块
CONFIG += c++11 // 启用C++11支持
// 如果你使用任何已被标记为弃用的Qt特性,以下定义会使编译器发出警告(具体警告取决于你的编译器)。
// 请参阅弃用API的文档,以了解如何将代码从弃用的特性迁移走。
DEFINES += QT_DEPRECATED_WARNINGS
// 如果你希望在代码中使用弃用API时编译失败,可以取消注释以下行。
// 你也可以选择只禁用Qt某个特定版本之前弃用的API。
//DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 // 禁用Qt 6.0.0之前弃用的所有API
SOURCES += \
main.cpp \
widget.cpp // 将main.cpp和widget.cpp添加到项目的源文件列表中
HEADERS += \
widget.h // 将widget.h添加到项目的头文件列表中
FORMS += \
widget.ui // 将widget.ui添加到项目的UI文件列表中
// 默认的部署规则
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target // 如果目标路径不为空,则将目标添加到安装列表中
2.
// 登录窗口的头文件 loginwidget.h
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
class LoginWidget : public QWidget {
Q_OBJECT
public:
LoginWidget(QWidget *parent = nullptr);
private:
QLineEdit *lineEditUsername;
QLineEdit *lineEditPassword;
QPushButton *buttonLogin;
QLabel *labelUsername;
QLabel *labelPassword;
};
// 登录窗口的源文件 loginwidget.cpp
#include "loginwidget.h"
#include <QVBoxLayout>
LoginWidget::LoginWidget(QWidget *parent) : QWidget(parent) {
// 创建账号标签和输入框
labelUsername = new QLabel(tr("Username:"), this);
lineEditUsername = new QLineEdit(this);
// 创建密码标签和输入框,并设置回显模式为密码
labelPassword = new QLabel(tr("Password:"), this);
lineEditPassword = new QLineEdit(this);
lineEditPassword->setEchoMode(QLineEdit::Password);
// 创建登录按钮
buttonLogin = new QPushButton(tr("Login"), this);
connect(buttonLogin, &QPushButton::clicked, this, [](){
// 这里添加登录按钮的点击事件处理
QString username = QLineEdit::text();
QString password = QLineEdit::text();
// 这里可以添加代码验证用户名和密码,然后登录
});
// 创建布局并添加组件
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(labelUsername);
layout->addWidget(lineEditUsername);
layout->addWidget(labelPassword);
layout->addWidget(lineEditPassword);
layout->addWidget(buttonLogin);
// 设置窗口标题
setWindowTitle(tr("Login"));
// 设置窗口初始大小
resize(300, 200);
}
// 主程序 main.cpp
#include <QApplication>
#include "loginwidget.h"
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建登录窗口实例
LoginWidget loginWidget;
loginWidget.show();
return app.exec();
}
3.思维导图
Qt学习指南
│
├── 一、Qt简介
│ ├── 1. 定义:基于C++的跨平台GUI库
│ ├── 2. 功能:图形界面、进程线程、网络编程等
│
├── 二、学习Qt
│ ├── 1. 掌握类库功能与使用方法
│ ├── 2. 实例化对象与方法使用
│ ├── 3. 后台逻辑实现
│
├── 三、Qt应用场合
│ ├── 1. 汽车仪表盘
│ ├── 2. 打印机
│ ├── 3. 医疗器械
│ └── 4. 自动化设备
│
├── 四、Qt优点
│ ├── 1. 跨平台
│ ├── 2. 接口封装性好
│ ├── 3. 内存回收机制
│ ├── 4. 社区环境
│ └── 5. 轻量级开发环境
│
├── 五、软件安装
│ ├── 1. 下载网址:https://download.qt.io/archive/online_installers/4.2/
│ ├── 2. Windows安装包
│ ├── 3. Linux安装包
│ └── 4. MAC安装包
│
├── 六、Qt工具介绍
│ ├── 1. Assistant:帮助手册
│ ├── 2. Designer:界面设计
│ ├── 3. uic.exe:UI文件转换工具
│ ├── 4. moc.exe:元对象编辑器
│ ├── 5. rcc.exe:资源管理器
│ ├── 6. qmake:工程管理工具
│ └── 7. Qt Creator:集成开发环境
│
├── 七、Assistant帮助文档使用
│ ├── 1. 类名与头文件对应
│ ├── 2. 类库引入
│ └── 3. 多级继承关系
│
├── 八、设计师界面介绍
│ └── [内容待补充]
│
├── 九、Qt工程项目文件介绍
│ ├── 1. 配置文件:.pro文件
│ ├── 2. 头文件
│ ├── 3. 源文件
│ └── 4. 主程序
│
├── 十、第一个Qt界面
│ ├── 1. 创建自定义类
│ ├── 2. 界面操作:输出数据、窗口标题、图标、尺寸等
│
└── 十一、常用类与组件
├── 9.1 QDebug:信息调试类
├── 9.2 QPushButton:按钮组件
├── 9.3 QLineEdit:行编辑器类
└── 9.4 QLabel:标签类