当前位置: 首页 > article >正文

12.8 作业

1,

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

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

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //定义动态图片指针
    QMovie *mv=new QMovie(":/Saved Pictures/th.gif");
    ui->label->setMovie(mv);
    //让动态图片开始动
    mv->start();
    //让动态图片自适应
    ui->label->setScaledContents(true);
    //向标签插入图片
    ui->urse_label->setPixmap(QPixmap(":/Saved Pictures/th.jpg"));
    //图片自适应
    ui->urse_label->setScaledContents(true);

    
    ui->pass_label->setPixmap(QPixmap(":/Saved Pictures/th2.jpg"));
    ui->pass_label->setScaledContents(true);
    //占位
    ui->uresEdit->setPlaceholderText("账号");
    ui->passEdit->setPlaceholderText("密码");
    //对密码进行保护
    ui->passEdit->setEchoMode(QLineEdit::Password);
    //隐藏头部
    this->setWindowFlag(Qt::FramelessWindowHint);
    //将按键添加到界面
    But3=new QPushButton("关闭",this);
    //将播音添加到界面
    speecher=new  QTextToSpeech(this);
    //改变按键位置
    But3->move(ui->But2->x(),ui->But2->y()+ui->But2->height()+20);
    //重新定义按键大小
    But3->resize(ui->But2->width(),ui->But2->height());

   // connect(But3,SIGNAL(clicked()),this,SLOT(close()));
    //对按键3进行信号和槽连接
    connect(But3,SIGNAL(clicked()),this,SLOT(my_slot()));
    connect(ui->But4,&QPushButton::clicked,this,&Widget::But4_slot);
    connect(ui->Button,&QPushButton::clicked,this,&Widget::Button_slot);

}

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

void Widget::my_slot(){
    //关闭界面
    this->close();

}
//按键3控制按键1颜色
void Widget::on_But2_clicked()
{
    
    static int num=0;
    if(num%3==0){
        ui->But1->setStyleSheet("background-color:red");

    }else if(num%3==1){
        ui->But1->setStyleSheet("background-color:green");
    }else{
        ui->But1->setStyleSheet("background-color:yellow");
    }
    num++;


}
//按键(讲话)对其余按键的文本进行播送
void Widget::But4_slot()
{
    static int num1=0;
    if(num1%3==0){
        speecher->say(ui->But1->text());

    }else if(num1%3==1){
        speecher->say(ui->But2->text());
    }else{
        speecher->say(But3->text());
    }
    num1++;
}

void Widget::Button_slot()
{
    //定义两个字符数组分别获取密码和账号
    QString buf=ui->passEdit->text();
    QString rbuf=ui->uresEdit->text();
    //对密码和账号进行判断
    if(QString::compare(buf,"123456")==0 && QString::compare(rbuf,"admin")==0){
        //关闭界面
        this->close();
        qDebug() << "登录成功";
    }else{
        //清空行编译器
        ui->uresEdit->clear();
        ui->passEdit->clear();
    }
}

结果:

2,思维导图


http://www.kler.cn/a/163392.html

相关文章:

  • 行业类别-智能制造-子类别工业4.0-细分类别物联网应用-应用场景智能工厂建设
  • nuxt3添加wowjs动效
  • vue3+vite搭建脚手架项目本地运行electron桌面应用
  • 丹摩征文活动 | Kolors入门:从安装到全面活用的对比指南
  • 面试题之---解释一下原型和原型链
  • 掌握核密度图:精准描绘不同年龄段的血糖分布
  • 基于ssm志愿者招募网站源码和论文
  • JS中call()、apply()、bind()改变this指向的原理
  • Ultimate VFX
  • css中2D和3D的区别
  • ELK(五)—集群搭建
  • Linux--学习记录(2)
  • Web学习路线
  • 【ET8】0.ET8入门-ET框架介绍
  • 交付《啤酒游戏经营决策沙盘》的项目
  • vue2 el-input里实现打字机 效果
  • 深入理解 Promise:前端异步编程的核心概念
  • 29 水仙花数
  • 【后端学前端学习记录】学习计划
  • 【Azure 架构师学习笔记】- Azure Databricks (2) -集群
  • 低多边形3D建模动画风格纹理贴图
  • 《每天一个Linux命令》 -- (6) stat命令
  • 设计模式——单例模式(Singleton Pattern)
  • 寄存器、缓存、内存、硬盘、存储器的理解
  • MSSQL存储过程的功能和用法
  • 极智芯 | 解读国产AI算力 灵汐产品矩阵