当前位置:   article > 正文

【嵌入式学习】Qtday03.26

【嵌入式学习】Qtday03.26

一、思维导图

二、练习

头文件

  1. #ifndef WIDGET_H
  2. #define WIDGET_H
  3. #include <QWidget>
  4. #include <QTime>
  5. #include <QTextToSpeech>
  6. QT_BEGIN_NAMESPACE
  7. namespace Ui { class Widget; }
  8. QT_END_NAMESPACE
  9. class Widget : public QWidget
  10. {
  11. Q_OBJECT
  12. public:
  13. Widget(QWidget *parent = nullptr);
  14. ~Widget();
  15. void timerEvent(QTimerEvent *e);
  16. private slots:
  17. void on_start_clicked();
  18. private:
  19. Ui::Widget *ui;
  20. int id; //计时器id
  21. QString s; //闹钟时间
  22. int clock_id; //用于设置闹钟响的次数
  23. QTextToSpeech *speecher; //实例化一个播报者
  24. };
  25. #endif // WIDGET_H

源文件

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. Widget::Widget(QWidget *parent)
  4. : QWidget(parent)
  5. , ui(new Ui::Widget)
  6. , speecher(new QTextToSpeech)
  7. {
  8. ui->setupUi(this);
  9. id=startTimer(1000);
  10. }
  11. Widget::~Widget()
  12. {
  13. delete ui;
  14. }
  15. void Widget::timerEvent(QTimerEvent *e)
  16. {
  17. QTime sys_time = QTime::currentTime();
  18. QString s1=sys_time.toString("hh:mm:ss");
  19. ui->localtm->setText(s1);
  20. ui->label->setAlignment(Qt::AlignCenter);
  21. if(s==s1)
  22. {
  23. clock_id=startTimer(10000);
  24. ui->label->setText("该起床了!!");
  25. speecher->say("该起床了!!");
  26. }
  27. if(e->timerId()==clock_id)
  28. {
  29. ui->label->setText("迟到了!!");
  30. speecher->say("迟到了!!!");
  31. }
  32. }
  33. void Widget::on_start_clicked()
  34. {
  35. s = ui->lineEdit->text();
  36. ui->mytime->setText("闹钟时间: "+s);
  37. }

Widget 2024-03-26 20-02-49

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/329691
推荐阅读
相关标签
  

闽ICP备14008679号