Qt 0814作业

一、思维导图

二、登录窗口界面

自由发挥登录窗口的应用场景,实现一个登录窗口界面

要求:每行代码都有注释

【需要用到的图片或者动图,自己去网上找】

cpp 复制代码
#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    /***********主窗口初始化***********/
    this->setWindowTitle("原神启动"); //设置窗口标题
    this->setWindowIcon(QIcon("D:/[Pic]/iconfont/OIP-C.ico")); //设置窗口图标
    this->setStyleSheet("background-color: white"); //设置背景颜色-白
    this->resize(1920, 1080);  //重设窗口大小(1920×1080)
    this->setFixedSize(1920, 1080);  //固定窗口大小
    this->setWindowFlag(Qt::FramelessWindowHint); //设置纯净窗口,去掉标题栏

    /***********添加标签***********/
    QLabel *lab1 = new QLabel(this); //新建标签1
    lab1->resize(1920, 1080);  //设置标签大小(覆盖整个窗口)
    lab1->setStyleSheet("background-color: white"); //设置标签背景颜色-白
//    lab1->setPixmap(QPixmap("D:/QT/project/QT/test/Alice.jpg")); //设置背景图片
    //实例化一个动图指针
    QMovie *mv = new QMovie("D:/QT/project/QT/test/Genshin.gif");
    //动图设置到标签中
    lab1->setMovie(mv);
    mv->start();  //启动!
    lab1->setScaledContents(true); //令动图自动适应lab大小

    QLabel *lab2 = new QLabel(this); //新建标签2
    lab2->resize(680, 620);  //设置标签大小
    lab2->setStyleSheet("background-color: white"); //设置标签背景颜色-白
    lab2->move(620, 215);  //移动标签位置

    QLabel *lab3 = new QLabel(this); //新建标签3
    lab3->resize(195, 70);  //设置标签大小
    lab3->setStyleSheet("background-color: white"); //设置标签背景颜色-白
    lab3->move(862, 260);  //移动标签位置
    lab3->setPixmap(QPixmap("D:/QT/project/QT/test/mihoyo.jpg")); //设置背景图片
    lab3->setScaledContents(true); //令图片自动适应lab大小

    /***********添加行编辑器***********/
    QLineEdit *edit1 = new QLineEdit(this); //新建行编辑器1
    edit1->move(668, 370);   //移动
    edit1->resize(585, 75);   //设置尺寸
    edit1->setPlaceholderText("输入手机号/邮箱");  //设置占位

    QLineEdit *edit2 = new QLineEdit(this); //新建行编辑器2
    edit2->move(668, 478);   //移动
    edit2->resize(585, 75);   //设置尺寸
    edit2->setPlaceholderText("输入密码");  //设置占位
    edit2->setEchoMode(QLineEdit::Password); //设置显示模式-password

    /***********添加按钮***********/
    QPushButton *btn1 = new QPushButton("进入游戏", this); //新建按钮1
    //设置按钮背景颜色、字体颜色、倒角
    btn1->setStyleSheet("background-color:rgb(58,59,64);\
                         color:rgb(242,239,187);\
                         border-radius:5px");
    btn1->move(668, 640);   //移动
    btn1->resize(585, 75);   //设置按钮1尺寸

    QPushButton *btn2 = new QPushButton(this); //新建按钮2
    btn2->setIcon(QIcon("D:/QT/project/QT/test/x.png"));  //设置图标
    btn2->move(1235, 245);   //移动
    btn2->setStyleSheet("border-radius:1px");   //设置按钮倒角
    btn2->resize(35, 35);   //设置按钮2尺寸

}

MyWidget::~MyWidget()
{
}

效果图:

相关推荐
Liknana42 分钟前
Qt 圆角表格控件实战:setMask + 抗锯齿描边 + 多层阴影
qt·ui
Scott9999HH2 小时前
2026 避坑实录:国产品牌压力变送器什么牌子好?从硬件抗扰到 C++ Qt 实时曲线绘制源码剖析
开发语言·c++·qt
皓悦编程记20 小时前
【YOLO26 系列】基于YOLO26的垃圾分类检测系统【python源码+Pyqt5界面/WEB+数据集+训练代码】
python·qt·分类
十五年专注C++开发1 天前
qobject_cast转换失败原因分析
c++·qt·dynamic_cast·qobject_cast
sycmancia1 天前
Qt——线程的生命期问题
开发语言·qt
闻道且行之2 天前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
气概2 天前
QT集成basler相机
开发语言·数码相机·qt
GIS阵地3 天前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
sycmancia3 天前
Qt——多线程中的信号与槽(二)
jvm·qt
Quz4 天前
QML Label 完整用法与 Text 组件选型
前端·qt