QT_day3:2024/3/22-作业1:设计界面

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

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

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

qss代码:

QFrame#frame{
	background-color: rgba(167, 202, 207, 100);
}
QLabel#login{
	font: 20pt "等线";
	color: rgb(255, 255, 255);
}
#mainlab{
	background-color: rgb(0, 0, 0);
}
QLineEdit#userName{
	color: rgba(255, 255, 255, 100);
font: 17pt "等线";
background:transparent;/*完全透明*/
border:none;/*无边框*/
border-bottom:1px solid  rgba(255, 255, 255, 90);
}
#passwd{
	color: rgba(255, 255, 255, 100);
font: 17pt "等线";
background:transparent;/*完全透明*/
border:none;/*无边框*/
border-bottom:1px solid  rgba(255, 255, 255, 90);
}
#find{
font: 10pt "楷体";
background:transparent;/*完全透明*/
border:none;/*无边框*/
}
#edit{
	font: 11pt "楷体";
background:transparent;/*完全透明*/
border:none;/*无边框*/
}
QPushButton#Login{
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(0, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));
}
QPushButton#Login:hover{    /*鼠标移动*/
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(30, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));
}
QPushButton#Login:pressed{   /*鼠标按下*/
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(0, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));

padding-top:5px;
padding-left:5px;
}
#quit{
	font: 28pt "等线";
background:transparent;/*完全透明*/
	color: rgb(255, 255, 255);
}
#quit:hover{
	color: rgb(255, 255, 255);
	background-color: rgb(170, 0, 0);
}
#Mini{
	font: 28pt "等线";
background:transparent;/*完全透明*/
	color: rgb(255, 255, 255);
}
#Mini:hover{
	color: rgb(255, 255, 255);
	background-color: rgb(170, 0, 0);
}
QCheckBox#checkBox{
	font: 10pt "楷体";
}
#checkBox_2{
font: 10pt "楷体";
}

源代码:

#include "widget.h"
#include "ui_widget.h"

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

    //动图动起来
    QMovie *mv = new QMovie(":/Logo/preview.gif");
    ui->mainlab->setMovie(mv);
    mv->start();
    ui->mainlab->setScaledContents(true);

    //纯净窗口
    this->setWindowFlag(Qt::FramelessWindowHint);

    //去掉空白
    this->setAttribute(Qt::WA_TranslucentBackground);

    //手动连接自定义信号和槽函数,实现窗口关闭
    connect(ui->quit, SIGNAL(clicked()), this, SLOT(clicked_close()));

    //手动连接自定义信号和槽函数,实现窗口关闭
    connect(ui->Mini, SIGNAL(clicked()), this, SLOT(clicked_Mini()));

    //使用qt5版本,手动连接信号和自定义槽函数
    connect(ui->Login, &QPushButton::clicked, this, &Widget::clicked_Login);

}

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

//退出窗口
void Widget::clicked_close()
{
    this->close();
}
//最小化界面
void Widget::clicked_Mini()
{
    this->setWindowState(Qt::WindowMinimized);
}

void Widget::clicked_Login()
{
    if(ui->userName->text() == "admin" && ui->passwd->text() == "123456")
    {

        ui->edit->setText("登录成功");
    }
    else
    {
        ui->edit->setStyleSheet("color:red");
        ui->edit->setText("登录失败,请重新输入");
    }
}

效果图:

上一篇:3/21 work


下一篇:黑客(网络安全)技术速成自学