9.28作业

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:标签类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值