QT作业。。

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

head.h

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QPushButton>
#include<QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();



public slots:
    void on_cancle_clicked();

    void log_btnslot();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

main.cpp

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

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

widget.cpp

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->log_lab->setPixmap(QPixmap(":/pictrue/宿舍.png"));
    ui->log_lab->setScaledContents(true);

    ui->usrname_lab->setPixmap(QPixmap(":/pictrue/userName.jpg"));
    ui->usrname_lab->setScaledContents(true);
    ui->passwd_lab->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
    ui->passwd_lab->setScaledContents(true);

    ui->username_edit->setPlaceholderText("手机号/QQ号");
    ui->passwd_edit->setEchoMode(QLineEdit::Password);
    ui->passwd_edit->setPlaceholderText("密码");
    //登录按钮对应的槽函数
    connect(ui->log_btn,&QPushButton::clicked,this,&Widget::log_btnslot);


    //cancel按钮对应的曹函数
    connect(ui->cancle,SIGNAL(clicked()),this,SLOT(on_cancle_clicked()));
}

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

//cancel按钮对应的曹函数
void Widget::on_cancle_clicked()
{
    this->close();
}

void Widget::log_btnslot()
{
    if(ui->username_edit->text()=="admin"&ui->passwd_edit->text()=="123456")
    {
        qDebug()<<"登录成功";
 this->close();

    }else
    {
        qDebug()<<"登陆失败";
        ui->username_edit->clear();
        ui->passwd_edit->clear();

    }

}

运行结果:

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

cpp 复制代码
*{
	
	background-color: rgb(255, 255, 255);
}
QFrame#frame{
	
	border-image: url(:/pic/yf.jpg);
	border-radius:30px;
	
}
#frame_2{
	border-radius:30px;
	
	background-color: rgba(138, 138, 138, 120);
}
QLabel#label{
	background:transparent;
	
	font: 75 9pt "ADMUI3Lg";
	
	color: rgb(0, 0, 0);
	
	font: 20pt "楷体";
}
QLineEdit{
	background:transparent;
	border:none;
	border-bottom:1px solid rgba(255, 255, 255, 200);
	
	font: 11pt "等线";
	color: rgba(255, 255, 255, 240);
	
	 
}
QPushButton{
	border-radius:10px;
	font: 15pt "等线";
	color: rgba(255, 255, 255, 200);
	
	background-color: rgb(170, 170, 127);
}
QPushButton:hover{
	border-radius:10px;
	font: 15pt "等线";
	color: rgba(255, 255, 255, 200);
	
	background-color: rgb(170, 170, 127);
}
QPushButton:pressed{
	border-radius:10px;
	font: 15pt "等线";
	color: rgba(255, 255, 255, 200);
	
	background-color: rgb(170, 170, 127);
	padding-top:5px;
	paddint-left:5px;
}

widget.cpp

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;
}

运行结果:

相关推荐
其实防守也摸鱼1 天前
无线网络安全---WLAN相关安全工具--kali(理论附题目)
linux·安全·web安全·学习笔记·kali·命令模式·wlan
sg_knight3 天前
设计模式实战:命令模式(Command)
python·设计模式·命令模式
yaaakaaang3 天前
十四、命令模式
java·命令模式
无籽西瓜a4 天前
【西瓜带你学设计模式 | 第十八期 - 命令模式】命令模式 —— 请求封装与撤销实现、优缺点与适用场景
java·后端·设计模式·软件工程·命令模式
23.12 天前
【Linux】grep -F 及 双横线--的妙用
linux·命令模式
摸鱼仙人~14 天前
快照模式 vs 命令模式:一篇分清什么时候用谁
命令模式
2301_7644413314 天前
Dify工作流中实现查询优化(QO):将查询复杂度分类法与QOL框架融入工作流
人工智能·语言模型·自然语言处理·命令模式
fe7tQnVan15 天前
三大 Agent-UI 协议深度剖析:AG-UI、A2UI 与 MCP-UI 的设计哲学与工程实践
ui·状态模式·命令模式
程序员小寒16 天前
JavaScript设计模式(八):命令模式实现与应用
前端·javascript·设计模式·ecmascript·命令模式
砍光二叉树19 天前
【设计模式】行为型-命令模式
设计模式·命令模式