Qt 0816作业

news2024/11/15 1:52:37

一、思维导图

二、将day1做的登录界面升级优化【资源文件的添加】

三、在登录界面的登录取消按钮进行一下设置

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

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


头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMovie>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

signals:  //信号函数
    void btnSignal();

public slots:  //槽函数
    void exitBtnSlot();
    void loginBtnSlot();

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

测试文件

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    this->setWindowFlag(Qt::FramelessWindowHint); //纯净窗口
    ui->setupUi(this);
    QMovie *mv1 = new QMovie(":/resource/A1.gif");
    QMovie *mv2 = new QMovie(":/resource/A2.gif");
    QMovie *mv3 = new QMovie(":/resource/A3.gif");
    QMovie *mv4 = new QMovie(":/resource/A4.gif");
    QMovie *mv5 = new QMovie(":/resource/A5.gif");
    ui->pic1->setMovie(mv1);
    mv1->start();
    ui->pic2->setMovie(mv2);
    mv2->start();
    ui->pic3->setMovie(mv3);
    mv3->start();
    ui->pic4->setMovie(mv4);
    mv4->start();
    ui->pic5->setMovie(mv5);
    mv5->start();
    ui->pic1->setScaledContents(true);
    ui->pic2->setScaledContents(true);
    ui->pic3->setScaledContents(true);
    ui->pic4->setScaledContents(true);
    ui->pic5->setScaledContents(true);

    ui->logoLab->setPixmap(QPixmap(":/resource/BlueArchive.png"));
    ui->logoLab->setScaledContents(true);

    //手动连接系统信号和自定义槽函数
    connect(ui->exitBtn,SIGNAL(clicked()),this,SLOT(exitBtnSlot()));
    connect(ui->loginBtn,&QPushButton::clicked,this,&Widget::loginBtnSlot);

    /*行编辑器操作*/
    ui->passWordEdit->setEchoMode(QLineEdit::Password); //设置显示模式
    ui->userNameEdit->setPlaceholderText("输入用户名");  //设置占位
    ui->passWordEdit->setPlaceholderText("输入密码");
}

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

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

void Widget::loginBtnSlot()
{
    if(ui->userNameEdit->text() == "Legacystar"){
        if(ui->passWordEdit->text() == "0d000721"){
            QMessageBox::information(this, "提示", "登录成功", QMessageBox::Ok);
//            qDebug() << "登录成功";
            this->close();
        }else if(ui->passWordEdit->text() == ""){
            QMessageBox::warning(this, "提示", "密码为空", QMessageBox::Ok);
//            qDebug() << "密码为空";
        }else{
            QMessageBox::critical(this, "提示", "密码错误", QMessageBox::Ok);
//            qDebug() << "密码错误";
            ui->passWordEdit->clear();
        }
    }else if(ui->userNameEdit->text() == ""){
        QMessageBox::warning(this, "提示", "用户名为空", QMessageBox::Ok);
//        qDebug() << "用户名为空";
    }else{
        QMessageBox::critical(this, "提示", "用户名不存在", QMessageBox::Ok);
//        qDebug() << "用户名不存在";
        ui->userNameEdit->clear();
        ui->passWordEdit->clear();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2054593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ | Leetcode C++题解之第350题两个数组的交集II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());int length1 nums1.size(), length2 nums2…

函数递归VS操作符深入?

1>>前言 函数递归函数递归&#xff0c;当小白听到这样的词会感到无比陌生&#xff0c;请不要惊慌&#xff0c;这是正常的&#xff0c;以至于都不是很经常用到&#xff0c;但是它的算法&#xff0c;它的思想是值得我们深入思考的。还有一些复杂操作符&#xff0c;如按位与…

【原创】java+swing+mysql共享充电宝管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片&#xff0c;希望和大家…

PyTorch之TensorBoard使用

接回上一篇&#xff1a;PyTorch深度学习框架-CSDN博客 在学习这篇之前建议先按照上一篇搭建好整个PyTorch环境 然后这一篇讲怎么用TensorBoard&#xff0c;这个玩意是Tensorflow官方推出的一个可视化工具&#xff0c;当使用Tensorflow训练大量深层的神经网络时&#xff0c;我们…

全局锁、表级锁、行级锁

锁的作用和特点 WHY&#xff1a;锁的出现是为了解决并发场景下不同用户同时对共享资源进行操作&#xff0c;而可能引发的并发问题。 HOW&#xff1a;控制不同线程对资源访问的规则。 全局锁 顾名思义&#xff0c;全局锁就是对整个数据库实例加锁。一般在进行全库备份的时候…

prometheus + grafana + 告警

配置环境 准备三台主机&#xff0c;将三台主机的信息分别写入/etc/hosts文件中 192.168.100.115 server.example.com server 192.168.100.116 agent1.example.com agent1 192.168.100.117 grafana.example.com grafana [rootserver ~]# cat /etc/hosts 127.0.0.1 localhos…

【MySQL 08】内置函数 (带思维导图)

文章目录 &#x1f308; 一、日期函数⭐ 1. 常见日期函数⭐ 2. 日期函数使用示例⭐ 3. 日期函数综合案例 &#x1f308; 二、字符串函数⭐ 1. 常见字符串函数⭐ 2. 字符串函数使用示例⭐ 3. 字符串函数综合案例 &#x1f308; 三、数值函数⭐ 1. 常见数值函数⭐ 2. 数值函数使用…

探索GitHub的无限可能:从注册到Linux环境下的库分支链接

在这个数字化时代&#xff0c;GitHub已成为开发者们不可或缺的宝藏库。无论你是编程新手还是资深开发者&#xff0c;GitHub都能为你打开一扇通往无限创意与协作的大门。今天&#xff0c;就让我们一起踏上这段探索之旅&#xff0c;从GitHub的注册开始&#xff0c;再到如何在Linu…

google transalte api的使用,V2服务账户方式(google-cloud-java)

Google Cloud Translation API 有几个不同的使用方式&#xff0c;其中之一是使用最新的 Google Cloud Client Library。这些库提供了简化的 API&#xff0c;使得与 Google Cloud 服务的交互变得更加容易。 对于gcp平台的创建方式&#xff0c;我记得得绑定真信用卡了&#xff0c…

Debug-021-el-table实现分页多选的效果(切换分页,仍可以保持前一页的选中效果)

前情提要&#xff1a; 这个功能实现很久了&#xff0c;但是一直没有留意如何实现&#xff0c;今天想分享一下。具体就是我们展示table数据的时候&#xff0c;表格中的数据多数情况是分页展示&#xff0c;毕竟数据量太多&#xff0c;分页的确是有必要的。那么我们有业务需要给表…

portswigger的Exploiting DOM clobbering to enable XSS

目录 尝试一下看看可不可以XSS DOM破坏 查看源码确定DOM破坏漏洞点以及代码分析 首先查看/resources/labheader/js/labHeader.js&#xff0c;没有什么作用 然后domPurify这东西是一个过滤框架也没啥子用 看/resources/js/loadCommentsWithDomClobbering.js尝试分析代码(对…

使用Poi-tl对word模板生成动态报告

一、pom依赖问题&#xff1a; <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.12.2</version> </dependency> 使用 poi-tl 的 1.12.2版本&#xff0c;如果使用了poi依赖&#x…

【编程之路:在 Bug 的迷宫中寻找出口】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Mysql-linux通过rpm安装、linux离线安装mysql

新建用户 useradd mysql passwd mysqlmysql用户增加sudo权限 Linux-创建用户、给普通用户sudo权限、设置不需要密码执行sudo 卸载旧版本软件包 卸载mariadb --查询mariadb版本 rpm -qa|grep mariadb --控制台输出 mariadb-libs-5.5.68-1.el7.x86_64 --执行卸载 sudo rpm -…

系规学习第13天

1、规划设计的主要目的不包括() A、设计满足业务需求的IT服务 B、设计SLA、测量方法和指标。 C、设计服务过程及其控制方 D、设计实施规划所需要的进度管理过程 [答案] D [解析]本题考察的是规划设计的目的&#xff0c;建议掌握。 (1)设计满足业务需求的IT服务。 (2)设…

Python计算机视觉 第1章-基本的图像操作和处理

Python计算机视觉 第1章-基本的图像操作和处理 本章讲解操作和处理图像的基础知识&#xff0c;将通过大量示例介绍处理图像所需的Python工具包&#xff0c;并介绍用于读取图像、图像转换和缩放、计算导数、画图和保存结果等的基本工具。 1.1 PIL&#xff1a;Python图像处理类…

零基础学习Redis(4) -- 常用数据结构介绍

我们之前提到过&#xff0c;redis中key只能是字符串类型&#xff0c;而value有多种类型。 redis中的数据结构有自己独特的实现方式能根据特定的场景进行优化 1. string(字符串) 内部编码&#xff1a; raw&#xff1a;最基本的字符串&#xff0c;类比我们平常使用的Stringin…

MFC读取 Excel

2.添加读取excel数据的接口类&#xff1a; 添加读取excel的接口类&#xff1a; 3、添加完成后&#xff0c;找到这几个接口类的头文件&#xff0c;注释/删除 下图红框中的引入语句 注意&#xff1a;每个接口类的头文件都需进行处理。 4、添加源文件 excel.h文件&#xff1a; …

Spring websocket并发发送消息异常的解决

https://www.jb51.net/program/297186nkq.htm本文主要介绍了 Spring websocket并发发送消息异常的解决,当多个线程同时尝试通过 WebSocket 会话发送消息时,会抛出异常,下面就来解决一下,感兴趣的可以了解一下https://www.jb51.net/program/297186nkq.htm

centos系统配置转发和iptables使之成为网关

centos系统配置转发和iptables使之成为网关 在当下互联网环境中&#xff0c;有很多内网服务器不能出网&#xff0c;例如安装软件包&#xff0c;更新程序之类的&#xff0c;偶尔会需要出网&#xff0c;下面这种方式就是专门解决这个事情的。 如下配置在 centos 6 7 8 rocky 8 …