6.17 作业

使用qt实现优化自己的登录界面

要求: 1. qss实现

  1. 需要有图层的叠加 (QFrame)

  2. 设置纯净窗口后,有关闭等窗口功能。

  3. 如果账号密码正确,则实现登录界面关闭,另一个应用界面显示。

第一个源文件

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //去掉头部
    this->setWindowFlag(Qt::FramelessWindowHint);
    //去掉空白部分
    this->setAttribute(Qt::WA_TranslucentBackground);

}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_2_clicked()
{
    this->close();//点击x后 关闭窗口
}

void Widget::on_pushButton_3_clicked()
{
    this->showMinimized();//最小化界面
}

void Widget::on_pushButton_clicked()
{
    if(ui->lineEdit->text() != "abcd" || ui->lineEdit_2->text() != "123456")
        {
            QMessageBox::warning(this,"登录错误","登录失败,请重新输入");
        }
    else
        {
            this->close();//点击登录按钮后  关闭窗口
            emit my_sig();//触发信号进入另外一个窗口
        }

}

第二个源文件

cpp 复制代码
#include "second.h"
#include "ui_second.h"

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
    //去掉头部
    this->setWindowFlag(Qt::FramelessWindowHint);
    //去掉空白部分
    this->setAttribute(Qt::WA_TranslucentBackground);
}

Second::~Second()
{
    delete ui;
}
void Second::sig_slots()
{
    this->show();
}

void Second::on_pushButton_clicked()
{
    this->close();
}

实现的效果视频

屏幕录制 2024-06-17 193033

相关推荐
半桔2 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo3 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春4 小时前
C++之多重继承
c++·多重继承
m0_736919104 小时前
C++代码风格检查工具
开发语言·c++·算法
2301_763472465 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!6 小时前
【C++】std::promise原理与实战解析
c++
m0_706653236 小时前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan7 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆7 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx7 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列