2024-3-22-Qtday3作业

1> 思维导图

2>

要求:

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数

将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出"登录成功",并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空

源代码:

//widge.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);
    connect(ui->closeBtn, SIGNAL(clicked()),
            this, SLOT(close_slot()));

    connect(ui->logInBtn, &QPushButton::clicked,
            this, &Widget::log_in_slot);
}

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

void Widget::close_slot()
{
    this->close();
}

void Widget::log_in_slot()
{
    if( ui->usrEdit->text() == "admin" && ui->pwdEdit->text() == "123456")
    {
        qDebug() << " 登录成功 ";
        this->close();
    }
    else
    {
        qDebug() << " 登录失败 ";
        ui->pwdEdit->setText("");
    }

}

效果图:

3> 自己完成一个使用qss的登陆窗口界面

源代码:

//widget.cpp

#include "widget.h"
#include "ui_widget.h"
/*3> 自己完成一个使用qss的登陆窗口界面。*/

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->frame->resize(1080,608);
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setAttribute(Qt::WA_TranslucentBackground);
    QMovie *mv1 = new QMovie(":/GIF/left.gif");
    ui->leftLabel->setScaledContents(true);
    ui->leftLabel->setMovie(mv1);
    mv1->start();
    QMovie *mv2 = new QMovie(":/GIF/right.gif");
    ui->rightLabel->setScaledContents(true);
    ui->rightLabel->setMovie(mv2);
    mv2->start();



}

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

void Widget::on_closeBtn_clicked()
{
    this->close();
}


//qss代码
*{
	
	background-color: rgb(255, 255, 255);
}
QFrame#frame{
	background-color: rgb(10, 10, 10);
}

QLineEdit#idEdit{
	
	background-color: rgb(230, 230, 230);
}
#pwdEdit{
background-color: rgb(230, 230, 230);
}
QLineEdit:hover#idEdit{
	
	background-color: rgb(230, 255, 255);
}
#pwdEdit{
background-color: rgb(230, 255, 255);
}
QPushButton#logInBtn{
	
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 92, 33, 255), stop:1 rgba(255, 153, 55, 255));
	border:none;
	font: 25 16pt "等线 Light";
	font: 16pt "黑体";
}

QPushButton:pressed#logInBtn{
	
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 92, 33, 255), stop:1 rgba(255, 153, 55, 255));
	border:none;
	font: 25 16pt "等线 Light";
	font: 16pt "黑体";
	padding-top:10px;
	padding-left:10px;
}
QPushButton:hover#logInBtn{
	
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 92, 33, 255), stop:1 rgba(255, 255, 100, 255));
	border:none;
	font: 25 16pt "等线 Light";
	font: 16pt "黑体";
}
#closeBtn{
	
	
	background-color: rgb(127, 127, 191);
	font: 26pt "黑体";
}
QLabel#idLabel{
	
	border-image: url(:/GIF/idlogo.png);
	background-color: rgb(230, 230, 230);
}
#pwdLabel{
	border-image: url(:/GIF/pwlogo.png);
	background-color: rgb(230, 230, 230);
}
#logoLabel{
	border-image:url(:/GIF/qqlogo.png);
}
#label{
	
	background-color: rgba(255, 255, 255, 0);
	border-image: url(:/GIF/logo.png);
}

效果:

相关推荐
IT技术分享社区2 分钟前
C#实战:使用腾讯云识别服务轻松提取火车票信息
开发语言·c#·云计算·腾讯云·共识算法
极客代码5 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
疯一样的码农12 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
&岁月不待人&34 分钟前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
StayInLove37 分钟前
G1垃圾回收器日志详解
java·开发语言
无尽的大道1 小时前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
羊小猪~~1 小时前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
binishuaio1 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
zz.YE1 小时前
【Java SE】StringBuffer
java·开发语言