2024.6.18 作业 xyt

今日作业:
1.  完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面
如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面
如果用户点击取消按钮,则弹出一个问题对话框,给出信息”您是否确定要退出登录?“,并给出两个按钮Yes|No,用户点击Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能
要求:(基于属性版、静态成员函数都使用)实现对话框的弹出
 

//day3_04.h
#ifndef DAY3_04_H
#define DAY3_04_H#include <QWidget>
#include <QMessageBox>
#include <QDebug>QT_BEGIN_NAMESPACE
namespace Ui { class day3_04; }
QT_END_NAMESPACEclass day3_04 : public QWidget
{Q_OBJECTpublic:day3_04(QWidget *parent = nullptr);~day3_04();signals:void my_jump();  //第一个界面的信号private slots:void on_pushButton_2_clicked();void on_pushButton_clicked();void on_pushButton_6_clicked();void on_pushButton_3_clicked();private:Ui::day3_04 *ui;
};
#endif // DAY3_04_H
//day3_04.cpp
#include "day3_04.h"
#include "ui_day3_04.h"day3_04::day3_04(QWidget *parent): QWidget(parent), ui(new Ui::day3_04)
{ui->setupUi(this);//去掉头部this->setWindowFlag(Qt::FramelessWindowHint);//去掉空白部分this->setAttribute(Qt::WA_TranslucentBackground);
}day3_04::~day3_04()
{delete ui;
}void day3_04::on_pushButton_2_clicked()
{this->close();
}void day3_04::on_pushButton_clicked()
{//获取输入的文本QString user1 = ui->user->text();QString line1 = ui->line->text();if(user1.isEmpty() || line1.isEmpty()){QMessageBox::warning(this, "Warning", "请输入账号或密码");}else{//判断账号和密码正确性if(user1 == "admin" && line1 == "123456"){QMessageBox::information(this, "Access Granted", "登陆成功");//关闭窗口this->close();//触发信号emit my_jump();}else{int ret = QMessageBox::warning(this, "Access Denied","账号和密码不匹配,是否重新登录",QMessageBox::Yes | QMessageBox::No);//根据函数的返回值,判断选中的按钮if(ret == QMessageBox::Yes){ui->user->clear();ui->line->clear();}else{//关闭窗口this->close();}ui->user->clear();ui->line->clear();}}
}void day3_04::on_pushButton_6_clicked()
{this->showMinimized();
}void day3_04::on_pushButton_3_clicked()
{//弹出警告对话框//使用QMessageBox 实例化一个对象 有参构造QMessageBox msg(QMessageBox::Warning,  //图标"警告",  //标题"您是否确定要退出登录?",  //文本QMessageBox::Yes | QMessageBox::No,  //按钮this  //指定父组件);//2.调用exec()弹出对话框int ret = msg.exec();//3.根据用户的选择,执行不同的功能if(ret == QMessageBox::Yes){//关闭窗口this->close();}else{QMessageBox::close;}
}
//main.cpp
#include "day3_04.h"
#include "second.h"  //包含第二个头文件#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);//实例化第一个界面day3_04 w;w.show();//实例化第二个界面Second s;//连接QObject::connect(&w, &day3_04::my_jump, &s, &Second::jump_slot);return a.exec();
}

2.  使用定时器事件 实现闹钟

//day4_04_zuoye.h
#ifndef DAY4_04_ZUOYE_H
#define DAY4_04_ZUOYE_H#include <QWidget>
#include <QDebug>
#include <QTime>
#include <QTextToSpeech>
QT_BEGIN_NAMESPACE
namespace Ui { class day4_04_zuoye; }
QT_END_NAMESPACEclass day4_04_zuoye : public QWidget
{Q_OBJECTpublic:day4_04_zuoye(QWidget *parent = nullptr);~day4_04_zuoye();void timerEvent(QTimerEvent *e);
signals:void signal_time();private slots:void on_pushButton_clicked();void my_slots_time();private:Ui::day4_04_zuoye *ui;int hh;int sid;//定义一个语音播报者QTextToSpeech speech;};
#endif // DAY4_04_ZUOYE_H
//day4_04_zuoye.cpp
#include "day4_04_zuoye.h"
#include "ui_day4_04_zuoye.h"day4_04_zuoye::day4_04_zuoye(QWidget *parent): QWidget(parent), ui(new Ui::day4_04_zuoye)
{ui->setupUi(this);sid = startTimer(1000);connect(this,&day4_04_zuoye::signal_time,this,&day4_04_zuoye::my_slots_time);
}day4_04_zuoye::~day4_04_zuoye()
{delete ui;
}void day4_04_zuoye::on_pushButton_clicked()
{if(ui->pushButton->text() == "启动"){hh = 1;ui->pushButton->setText("关闭");}else{hh = 0;ui->pushButton->setText("启动");}
}void day4_04_zuoye::timerEvent(QTimerEvent *e)
{if(e->timerId() == sid){QTime sys_time = QTime::currentTime();QString t = sys_time.toString("hh:mm:ss");ui->label_2->setText(t);ui->label_2->setAlignment(Qt::AlignCenter);qDebug() << t << ui->lineEdit->text();if(t == ui->lineEdit->text() && hh == 1){emit signal_time();}}
}void day4_04_zuoye::my_slots_time()
{QString textToSpeak = ui->label_4->text();qDebug() << textToSpeak;if(!textToSpeak.isEmpty()){for(int a=0; a<5; ++a){speech.say(textToSpeak);}}
}
//main.cpp
#include "day4_04_zuoye.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);day4_04_zuoye w;w.show();return a.exec();
}

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

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

相关文章

C++ 64 之 函数模版和普通函数调用规则

#include <iostream> #include <string> using namespace std;template<typename T> void myPrint(T a, T b){cout << "函数模板的调用" << endl; }void myPrint(int a, int b){cout << "普通函数调用" << endl…

C#——只读属性readonly

只读属性readonly 类的字段可以通过一个readonly(只读)表示这个为只读字段&#xff0c;不能被构造函数之外地方进行修改&#xff0c;静态只读字段不能在非静态的构造函数中使用 定义 只读属性的特点&#xff1a; 字段是只读的非静态 只能在非静态方法中进行修改 字段是只读的…

NoSQL-Tidis支持分布式事务,兼容redis协议,使用tikv存储引擎,可水平扩展

项目repo地址 GitHub - yongman/tidis: Distributed transactional NoSQL database, Redis protocol compatible using tikv as backend Tidis是分布式数据库,支持redis协议,多种数据结构支持,编写语言为golang。 Tidis工作角色类似于TIDB,提供协议转换和数据结构计算,底…

RockChip Android12 System之Datetime

一:概述 本文将针对Android12 Settings二级菜单System中Date&time的UI修改进行说明。 二:Date&Time 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="Settings$DateTimeSettingsActivity"android:label="@stri…

Unity基础(三)3D场景搭建

目录 简介: 一.下载新手资源 二.创建基本地形 三.添加场景细节 四,添加水 五,其他 六. 总结 简介: 在 Unity 中进行 3D 场景搭建是创建富有立体感和真实感的虚拟环境的关键步骤。 首先&#xff0c;需要导入各种 3D 模型资源&#xff0c;如建筑物、角色、道具等。这些模…

springboot与flowable(9):候选人组

act_id_xxx相关表存储了所有用户和组的数据。 一、维护用户信息 Autowiredprivate IdentityService identityService;/*** 维护用户*/Testvoid createUser() {User user identityService.newUser("zhangsan");user.setEmail("zhangsanqq.com");user.setF…

CHATGPT说这个运算放大器是比较器,我说这是运放典型的同相比例放大器,一个光控电路分析

纠正 图1 光控电路 该电路来自一个问题&#xff0c;链接见文末。 因GPT的分析有误&#xff0c;特此纠正。 引用图片和答案用于分析&#xff0c;如侵权请联系本人。 电路分析&#xff1a; 该电路为光控灯电路&#xff0c;灯光为LED发光二极管 D。 光敏电阻RG的阻值和光线强度关…

6.18作业

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

翻转数位00

题目链接 翻转数位 题目描述 注意点 可以将一个数位从0变为1找出能够获得的最长的一串1的长度&#xff08;必须是连续的&#xff09; 解答思路 参照题解使用动态规划解决本题&#xff0c;对于任意一个位置i&#xff0c;dp[i][0]表示到达且包含第i位不翻转0最长1的长度&…

思科配置路由器,四台主机互相ping通

一、如图配置 PC4和PC5用来配置路由器&#xff0c;各ip、接口如图所示。 二、配置各主机ip、子网掩码SNM、默认网关DGW (一)、PC0 (二)、PC1 (三)、PC2 (四)、PC3 三、 配置路由器Router0 (期间报错是打错了字母) Router>en Router#configure terminal Enter configurat…

软考阅卷将完成?!软考成绩有望六月底公布!

2024上半年软考考试已于5月25日-28日举行&#xff0c;考完试后大家最关心的事情莫过于查分了。 一、最新消息 1、不同地区在报名时对成绩公布的时间有所预示&#xff0c;但并没有一个统一的日期举个例子&#xff0c;江苏考区预计在6月下旬公布成绩&#xff0c;而黑龙江考区则预…

【Altium】Sheet Symbol器件页面符和对应原理图端口同步

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标&#xff1a; 更给原理图端口后&#xff0c;如何同步到对应的sheet symbol 2、应用场景&#xff1a; 使用层次结构原理图设计的情况下&#xff0c;修改了某张原理图上的端口之后&#xff0c;其对应的sheet symbol上的…

Java网络爬虫入门

文章目录 1、导入依赖2、CrawlerFirst 1、导入依赖 <dependencies><!-- HttpClient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></…

面试题之CSS

1. 引入样式的方式 外部样式 link import 区别 内部样式 /* 写在头部标签 */ <style></style>行内样式 2. 三行代码画三角形 .triangle{width:0px;border:100px solid;border-color:transparent transparent transparent red; }3.属性的继承 可继承的属性 …

win10重装系统如何操作,附上详细系统重装图文教程(2024年新)

win10重装系统如何操作呢&#xff1f;电脑使用时间长了&#xff0c;会出现各种各样的问题&#xff0c;如重要的系统文件被删除导致电脑无法正常运行&#xff0c;电脑运行内存空间不足&#xff0c;电脑卡顿等。Win10重装系统很简单&#xff0c;这里分享超详细的重装系统方法&…

【跟我学RISC-V】(三)openEuler特别篇

写在前面 这篇文章是跟我学RISC-V指令集的第三期&#xff0c;距离我上一次发文已经过去一个多月了&#xff0c;在这个月里我加入了oerv的实习项目组&#xff0c;并且还要准备期末考试&#xff0c;比较忙。 在这篇文章里我会隆重、详细地介绍一个对RISC-V支持非常友好的Linux发…

【每天学会一个渗透测试工具】Nessus安装及使用指南

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 其他扫描工具&#xff1a; AWVS和Xray&#xff1a;应用漏洞扫描工具 fscan&#xff1a;虽然能扫主机&#xff0c;但比较老了…

01- ES6语法

1.ES6相关概念 1.1 什么是ES6 1.1.1 简介 ES6&#xff0c; 全称 ECMAScript 6.0 &#xff0c;是 JavaScript 的下一个版本标准&#xff0c;2015.06 发版。 ES6 主要是为了解决 ES5 的先天不足&#xff0c;比如 JavaScript 里并没有类的概念&#xff0c;但是目前浏览器的 Ja…

Linux、Windows安全加固

为了减少系统被黑客入侵&#xff0c;对操作系统的安全加固是网络安全和主机安全必不可少的一部分。 一、Linux安全加固 1.不使用默认的ssh端口&#xff0c;修改默认ssh22端口号 sudo vim /etc/ssh/ssh_config 去掉#注释&#xff0c;修改端口号并保存 2.关闭不必要的系统服务…

【ajax基础03】常用ajax请求方法和数据提交以及axios错误处理

一&#xff1a;请求方法 什么是请求方法&#xff1a; 浏览器对服务器资源&#xff0c;要执行的操作 常见请求方法如下 二&#xff1a;axios中应用 语法格式&#xff1a; method:为请求方法&#xff0c;默认情况下为get&#xff08;获取数据&#xff09; data&#xff1a;…