定时闹钟

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug>
#include <QIntValidator>
#include <QTime>
#include <QMessageBox>
#include <QTextToSpeech>
#include <QTimer>
#include <QMouseEvent>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic slots:void checkTime();public:Widget(QWidget *parent = nullptr);~Widget();QTime *qTime;QTextToSpeech *speaker;QTimer *timer;QPoint startPoint;void mousePressEvent(QMouseEvent *event) override;void mouseMoveEvent(QMouseEvent *event) override;
private slots:void on_pushButton1_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"void Widget::checkTime()
{QTime curr = QTime::currentTime();if(curr.toString("hh:mm:ss") == this->qTime->toString("hh:mm:ss")){QString str = ui->textEdit1->toPlainText();if(str == ""){str = "时间已到";}speaker->say(str);QMessageBox::information(this,"提示","时间已到");this->close();}
}Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setFixedSize(QSize(800,500));this->setWindowFlag(Qt::FramelessWindowHint);this->speaker = new QTextToSpeech(this);//闹钟的时 分 秒设置校验器QIntValidator *validator1 = new QIntValidator(0,23,ui->lineEdit1);QIntValidator *validator2 = new QIntValidator(0,59,ui->lineEdit2);QIntValidator *validator3 = new QIntValidator(0,59,ui->lineEdit3);ui->lineEdit1->setValidator(validator1);ui->lineEdit2->setValidator(validator2);ui->lineEdit3->setValidator(validator3);ui->lineEdit1->setInputMethodHints(Qt::ImhDigitsOnly);ui->lineEdit2->setInputMethodHints(Qt::ImhDigitsOnly);ui->lineEdit3->setInputMethodHints(Qt::ImhDigitsOnly);timer = new QTimer(this);connect(timer, &QTimer::timeout, this, QOverload<>::of(&Widget::checkTime));}Widget::~Widget()
{delete ui;
}void Widget::mousePressEvent(QMouseEvent *event)
{startPoint = event->globalPos() - this->frameGeometry().topLeft();
}void Widget::mouseMoveEvent(QMouseEvent *event)
{this->move(event->globalPos() - startPoint );
}void Widget::on_pushButton1_clicked()
{int hh = -1,mm=-1,ss=-1;if(ui->lineEdit1->text()!=""){hh = ui->lineEdit1->text().toInt();}if(ui->lineEdit2->text()!=""){mm = ui->lineEdit2->text().toInt();}if(ui->lineEdit3->text()!=""){ss = ui->lineEdit3->text().toInt();}if(!QTime::isValid(hh, mm, ss)){QString str("输入的时间不合法,请确认");speaker->say(str);QMessageBox::critical(this,"提示",str);return;}this->qTime = new QTime(hh,mm,ss);ui->label->setText(qTime->toString("hh:mm:ss"));speaker->say(QString("操作成功,您设置的闹钟为%1点%2分%3秒").arg(hh).arg(mm).arg(ss));ui->pushButton1->setEnabled(false);timer->start(1000);//开启定时器
}

20230407 定时闹钟相关推荐

  1. Android自定义定时闹钟开发详解

    这篇文章主要为大家详细介绍了Android自定义定时闹钟开发,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Android开发之自定义闹钟实现,供大 ...

  2. 单片机简易定时闹钟控制c语言代码,简易定时闹钟.doc

    简易定时闹钟 课程名称:单片机课程设计 设计题目: 简易数字闹钟 院 系: 专 业: 年 级: 姓 名: 学 号: 指导教师: 课 程 设 计 任 务 书 专 业 姓 名 学 号 开题日期: 完成日期 ...

  3. 定时闹钟课程设计c语言,基于单片机89c52定时闹钟的课程设计.pdf

    前 言 20 世纪末,电子技术获得了飞速的发展.在其推动下,现代电子产品几乎渗透了 社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高.同时也 使现代电子产品性能进一步提高,产品更新换 ...

  4. 单片机数字定时闹钟设计c语言,电子设计 基于51单片机的定时闹钟设计.doc

    电子设计 基于51单片机的定时闹钟设计 课件之家精心整理资料--欢迎你的欣赏 课件之家精心整理资料--欢迎你的欣赏 摘 要 单片计体积小.能耗低.成本低.功能强,广泛应用于智能产品和工业自动化上.本次 ...

  5. 闹钟Android实验报告,定时闹钟我的实验报告.doc

    定时闹钟我的实验报告 DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 课程名称: 单片机原理及接口技术 论文题目: 定时闹钟 系 ...

  6. c语言编写闹钟主程序流程图,课程设计基于单片机的定时闹钟.docx

    课程设计基于单片机的定时闹钟.docx 课程设计 设计题目:基于单片机的定时闹钟 院 系:电气工程 专 业:电子信息工程 年 级: 姓 名: 指导教师: 课程设计任务书 专业电子信息工程姓名学号 开题 ...

  7. android 定时开机闹钟,win7自动-定时开机、关机(附加定时闹钟)技巧

    <如何设置电脑定圣元奶粉时开机>不过瘾?请往圣元奶粉下看: 一.自动定圣元奶粉时开机 此功圣元奶粉定,并且你的主板的高圣元奶粉,并且你的主板的高级电源管理设置必须支持这个功能,不过现在大多 ...

  8. 闹钟定时设计c语言编程,单片机定时闹钟(课程设计).docx

    单片机定时闹钟(课程设计) PAGE \* MERGEFORMAT10 绪 论 摘要: 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM.只读 ...

  9. STC89C52RC单片机实现简单定时闹钟+LCD1602+DS1302

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.各模块基本原理 1.DS1302. 1.介绍. 2.内部结构. 3.时钟日历控制寄存器 4.DS130231字节的RA ...

最新文章

  1. pytorch中调整学习率的lr_scheduler机制
  2. R语言威尔考克森秩和统计分布函数Wilcoxon rank Sum Statistic Distribution(dwilcox, pwilcox, qwilcox rwilcox)实战
  3. Windows Server 2012配置***服务环境
  4. adc采样时间_ADC采样原理
  5. 11input/output
  6. el表达式取值优先级
  7. 总结一下适合自己的看书方式
  8. SAP License:最近解决的一些SAP问题
  9. java 基础之图片的多线程处理和大文件的多线程拷贝
  10. android binder机制分析 以MediaPlayer为例子
  11. ZStack GPU解决方案
  12. UVa 10129 - Play on Words (欧拉回路, DFS)
  13. php源码 备课系统,电子教案管理系统2012版 V3.2
  14. python第三方插件登录网易音乐_基于 Python3 的网易云音乐下载器(支持嵌入专辑封面等 ID3-Tags 信息)...
  15. java 分布式任务_Java中实现分布式定时任务
  16. CTS、CLS、CLR分别作何解释
  17. 一个新的开始,fightting!
  18. 《iPad开发从入门到精通》——6.5节地图信息
  19. MFC中CreateCompatibleDC的作用
  20. FRP (高性能反向代理应用)

热门文章

  1. Node-RED使用指南:22:定制化Node的使用方法
  2. absolute定位宽高尺寸继承
  3. 依图在实时音视频中语音处理的挑战丨RTC Dev Meetup
  4. STM32之引脚GPIO
  5. 显示器分辨率一直跳_显示器屏幕一直跳怎么办
  6. 循环神经网络之LSTM、GRU
  7. 听障人士亲述:我们在VRChat用手语交流,成员规模5000人
  8. Qtxlsx操作Excel之使用
  9. 老子研究文献知识发现数据竞赛
  10. html css 布局_创建有吸引力HTML CSS动漫主题网站布局