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

6.18作业

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面

如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面

如果用户点击取消按钮,则弹出一个问题对话框,给出信息”您是否确定要退出登录?“,并给出两个按钮Yes|No,用户点击Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能

要求:(基于属性版、静态成员函数都使用)实现对话框的弹出

#include "mywidget.h"
#include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt::WA_TranslucentBackground);connect(this,&MyWidget::my_signal_1,[=](){this->showMinimized();});connect(this,&MyWidget::my_signal_2,[=](){if(this->window()->isMaximized()){this->showNormal();}else{this->showMaximized();}});
}MyWidget::~MyWidget()
{delete ui;
}void MyWidget::on_pushButton_clicked()
{//登陆成功则弹出信息对话框,提示登陆成功,点击OK后关闭登录页面跳转到另一页面if(ui->Username->text() == "admin" && ui->Passwd->text() == "123456"){
//        //基于属性版本实现消息对话框
//        QMessageBox msg(QMessageBox::Information,"Login","登陆成功",QMessageBox::Ok,this);
//        int ret = msg.exec();//基于静态成员函数实现int ret = QMessageBox::information(this,"Login","登陆成功",QMessageBox::Ok);if(ret == QMessageBox::Ok){this->close();emit my_jump();}}//登录失败则弹出错误对话框,给出信息“账号和密码不匹配,是否重新登录”,点击Yes清除密码内容,点击No直接关闭登录界面else{
//        //基于属性版本实现消息对话框
//        QMessageBox msg(QMessageBox::Critical,"Login","账号密码不匹配,是否重新登陆",QMessageBox::Yes | QMessageBox::No,this);
//        int ret = msg.exec();//基于静态成员函数实现int ret = QMessageBox::critical(this,"Login","账号密码不匹配,是否重新登陆",QMessageBox::Yes | QMessageBox::No);if(ret == QMessageBox::Yes){ui->Passwd->clear();}else{this->close();}}}
void MyWidget::on_pushButton_2_clicked()
{//用户点击取消按钮,弹出一个问题对话框,给出信息"您是否确定要退出登录?",点击Yes关闭登录界面,点击No关闭对话框
//    //基于属性版本实现消息对话框
//    QMessageBox msg(QMessageBox::Question,"Login","您是否确定退出登录?",QMessageBox::Yes | QMessageBox::No,this);
//    int ret = msg.exec();
//    int ret = QMessageBox::question(this,"Login","您是否确定退出登录?",QMessageBox::Yes | QMessageBox::No);
//    if(ret == QMessageBox::Yes)
//    {
//        this->close();
//    }
//    else
//    {
//        msg.close();
//    }//基于静态成员函数实现int ret = QMessageBox::question(this,"Login","您是否确定退出登录?",QMessageBox::Yes | QMessageBox::No);if(ret == QMessageBox::Yes){this->close();}
}void MyWidget::on_pushButton_3_clicked()
{emit my_signal_1();
}void MyWidget::on_pushButton_4_clicked()
{emit my_signal_2();
}

使用定时器事件 实现闹钟

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//在sys_time_label中获取系统时间id1 = startTimer(1000);
}Widget::~Widget()
{delete ui;
}
void Widget::timerEvent(QTimerEvent *e)
{//系统时间if(e->timerId()==id1){QTime sys_time = QTime::currentTime();QString t = sys_time.toString("hh:mm:ss");ui->sys_time_label->setText(t);}//语音播报else if(e->timerId()==id2){QTime sys_time = QTime::currentTime();QString t = sys_time.toString("hh:mm:ss");if(ui->lineEdit->text() == ui->sys_time_label->text()){QTextToSpeech *speaker = new QTextToSpeech;speaker->setLocale(QLocale::Chinese);//speaker->setVoice(QVoice::Unknown);for(int i=0; i<3; i++){speaker->say(ui->naozhong_label->text());}}}
}
void Widget::on_pushButton_clicked()
{//按下启动按钮,当到达设定时间触发闹钟,语音播报if(ui->pushButton->text() == "启动"){id2 = startTimer(1000);ui->pushButton->setText("关闭");}else{killTimer(id2);ui->pushButton->setText("启动");}
}

http://www.lryc.cn/news/376025.html

相关文章:

  • Excel文件转换为HTML文件
  • MySQL数据库入门
  • vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放
  • Python基础用法 之 运算符
  • 事务所管理系统的设计
  • airsim安装
  • 打造精致UI界面:字体设计的妙招
  • [BJDCTF2020]ZJCTF,不过如此1
  • 全网最全 Kimi 使用手册,看完 Kimi 效率提升 80%
  • “Redis中的持久化:深入理解RDB与AOF机制“
  • PHP框架详解:Symfony框架讲解
  • PR软件视频抠图换背景
  • 下载依赖有问题(只有自己有问题)
  • vscode-关闭ts与js语义校验
  • 风控中的文本相似方法之余弦定理
  • Spring Boot定时任务编程指南:如何创建和配置周期性任务
  • Java 获取客户端 IP 地址【工具类】
  • 区块链中nonce是什么,什么作用
  • 探索Python的多媒体解决方案:ffmpy库
  • dmhs同步因目的端表自增列报错解决方法
  • 封装分发安装教程
  • redis从入门到进阶——数据类型、 操作、数值操作、发布订阅、消息队列、布隆过滤器、事务
  • 剖析 Kafka 消息丢失的原因
  • 阿里又出AI神器,颠覆传统图像编辑,免费开源!
  • git 大文本上传和下载git-lfs
  • Ps:脚本与动作
  • MySQL数据库回顾(1)
  • 文字炫酷祝福 含魔法代码
  • docker容器中连接宿主机mysql数据库
  • Leetcode 41. 缺失的第一个正数