Qt作业2

embedded/2024/9/24 10:17:00/

1、思维导图

2、练习:优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败,并将账号和密码的行编辑器中的内容清空,账号密码要大于等于五位。

源文件:

#ifndef MYWIDGET_H
#define MYWIDGET_H#include <QWidget>
#include<QIcon> //图标类
#include<QLabel> //标签类
#include<QMovie> //动图类
#include<QLineEdit> //行编辑器类
#include<QPushButton> //按钮类
#include <QDebug> //信息调试类class MyWidget : public QWidget
{Q_OBJECTQPushButton *btn;QLineEdit *edit1;QLineEdit *edit2;QLabel *lab1;QLabel *lab2;QLabel *lab3;QMovie *mv;
public:MyWidget(QWidget *parent = nullptr);~MyWidget();
public slots:void btn_clicked();void edit_changed();
};#endif // MYWIDGET_H

头文件:

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent)
{this->resize(540,415);this->setFixedSize(540,415);this->setWindowTitle("盗版QQ");this->setWindowIcon(QIcon("D:\\yans\\color\\pictrue\\qq.png"));this->setStyleSheet("background-color:white");this->setWindowFlag(Qt::FramelessWindowHint);this->lab1 = new QLabel(this);lab1->resize(540, 160);lab1->setStyleSheet("background-color:pink");this->mv = new QMovie("D:\\yans\\color\\pictrue\\zz.gif");lab1->setMovie(mv);mv->start();lab1->setScaledContents(true);this->lab2 = new QLabel(this);lab2->resize(30,30);lab2->move(120,210);lab2->setPixmap(QPixmap("D:\\yans\\color\\pictrue\\wodepeizhenshi.png"));lab2->setScaledContents(true);this->lab3 = new QLabel(this);lab3->resize(30,30);lab3->move(120, 260);lab3->setPixmap(QPixmap("D:\\yans\\color\\pictrue\\passwd.jpg"));lab3->setScaledContents(true);this->edit1 = new QLineEdit(this);edit1->resize(275,30);edit1->move(155,210);edit1->setPlaceholderText("QQ号/手机号/邮箱");this->edit2 = new QLineEdit(this);edit2->resize(275,30);edit2->move(155,260);edit2->setPlaceholderText("密码");edit2->setEchoMode(QLineEdit::Password);this->btn = new QPushButton("登录",this);btn->resize(300,45);btn->move(120,345);//样式函数setStyleSheet()btn->setStyleSheet("background-color:yellow;border-radius:5px;color:white");QObject::connect(btn,&QPushButton::clicked,this,&MyWidget::btn_clicked);QObject::connect(btn,&QPushButton::clicked,this,&MyWidget::edit_changed);
}MyWidget::~MyWidget()
{}
void MyWidget::btn_clicked()
{if(this->edit1->text()=="123456"&&this->edit2->text()=="123456"){qDebug()<<"登录成功";this->close();}else {qDebug()<<"登录失败";this->edit1->clear();this->edit2->clear();}
}
void MyWidget::edit_changed()
{if(this->edit1->text().length()>=5&&this->edit2->text().length()>=5){this->btn->setStyleSheet("background-color:blue");}else{this->btn->setStyleSheet("background-color:yellow");}
}


http://www.ppmy.cn/embedded/37015.html

相关文章

Java面试题:解释volatile关键字的作用,以及它如何保证内存的可见性

在编程中&#xff0c;特别是在并发编程和多线程环境中&#xff0c;volatile 关键字是一个用于声明变量的特殊关键字&#xff0c;它主要有以下几个作用&#xff1a; 可见性&#xff1a;volatile 保证了在一个线程中对一个变量的修改对于其他线程是可见的。也就是说&#xff0c;当…

【数学】矩阵与矩阵乘法

矩阵 定义一个 n m n\times m nm 的矩阵如下&#xff1a; [ a 1 , 1 ⋯ a 1 , m ⋮ ⋱ ⋮ a n , 1 ⋯ a n , m ] \begin{bmatrix}a_{1,1}&\cdots&a_{1,m}\\\vdots&\ddots&\vdots\\a_{n,1}&\cdots&a_{n,m}\end{bmatrix} ​a1,1​⋮an,1​​⋯⋱⋯​…

Unity射击游戏开发教程:(10)创建主界面

主界面开发 玩游戏时,主菜单是事后才想到要做的。实际上几乎每个游戏都有一个主界面。如果你点击打开游戏并立即开始游戏,你会感到非常惊讶。本文将讨论如何创建带有启动新游戏的交互式按钮的主界面/主菜单。 主菜单将是一个全新的场景。我们将添加一个 UI 图像元素,并在图像…

Spring Task 定时任务没有定时执行是为什么?

目录 SpringBoot 定时任务的原理任务一直阻塞会怎么样&#xff1f;多个定时任务的执行具有相同表达式的定时任务&#xff0c;它们的执行顺序如何&#xff1f;Spring Task 和 Linux crontab 的 cron 语法区别&#xff1f;在 cron 语法中容易犯的错误Async 异步注解原理及作用并发…

JavaScript异步编程——03-Ajax传输json和XML

Ajax 传输 JSON JSON 的语法 JSON(JavaScript Object Notation)&#xff1a;是 ECMAScript 的子集。作用是进行数据的交换。语法更为简洁&#xff0c;网络传输、机器解析都更为迅速。 语法规则&#xff1a; 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组…

算法精讲:选择排序

基本思想 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前端,直到所有元素排完。 排序过程 初始关键字:【3 1 5 4 2】 第一趟排序后:1【3 5 4 2】 第二趟排序后:1 2【5 4 3】 第三趟排序后:1 2 3【4 5】 最终结果:1 2 3 4 5…

Actions和Mutations

在Vuex中&#xff0c;actions和mutations都是用来改变store中的状态的方法&#xff0c;它们之间的区别如下&#xff1a; Mutations&#xff1a;用于同步地修改state的方法。它们接收state作为第一个参数&#xff0c;并且可以接收额外的参数作为payload。Mutations应该是纯函数&…

yum仓库及NFS共享

yum简介 yum是一个基于RPM包&#xff08;是Red-Hat Package Manager红帽软件包管理器的缩写&#xff09;构建的软件更新机制&#xff0c;能够自动解决软件包之间的依赖关系。 yum 实现过程 先在yum服务器上创建 yum repository&#xff08;仓库&#xff09;&#xff0c;在仓…