• Qt 定制专属闹钟


    .h

    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. #include
    8. #include
    9. #include
    10. #include
    11. QT_BEGIN_NAMESPACE
    12. namespace Ui { class Widget; }
    13. QT_END_NAMESPACE
    14. class Widget : public QWidget
    15. {
    16. Q_OBJECT
    17. public:
    18. Widget(QWidget *parent = nullptr);
    19. ~Widget();
    20. void timerEvent(QTimerEvent *e) override;
    21. private slots:
    22. void on_openBtn_clicked();
    23. void on_closeBtn_clicked();
    24. private:
    25. Ui::Widget *ui;
    26. int tim;
    27. int respeech_time;
    28. //将组建设置为私有成员
    29. QTextEdit *speakEdit;
    30. //定义一个播报员
    31. QTextToSpeech *speech;
    32. };
    33. #endif // WIDGET_H

     .cpp

    1. #include "widget.h"
    2. #include "ui_widget.h"
    3. Widget::Widget(QWidget *parent)
    4. : QWidget(parent)
    5. , ui(new Ui::Widget)
    6. {
    7. ui->setupUi(this);
    8. //更改窗口标题
    9. this->setWindowTitle("查理苏的专属闹钟");
    10. ui->logo->setPixmap(QPixmap(":/qt/a1.webp"));
    11. ui->logo->setScaledContents(true);
    12. //用户名密码图
    13. ui->larmlab->setText("早安,我的未婚妻");
    14. speech = new QTextToSpeech(this);
    15. tim=this->startTimer(1000);
    16. }
    17. Widget::~Widget()
    18. {
    19. delete ui;
    20. }
    21. void Widget::on_openBtn_clicked()
    22. {
    23. respeech_time=this->startTimer(1000);
    24. //功能:启动一个定时器
    25. //参数:超时时间
    26. //返回值:当前id号
    27. // 创建一个QTextToSpeech对象
    28. QTextToSpeech *speech = new QTextToSpeech(this);
    29. // 设置语音输出的声音和语速
    30. speech->setVolume(2.0);
    31. speech->setRate(0.1);
    32. // 设置要说的文本
    33. QString text = "早安,我的未婚妻";
    34. // 语音播放文本
    35. respeech_time=this->startTimer(5000);
    36. speech->say(text);
    37. }
    38. void Widget::on_closeBtn_clicked()
    39. {
    40. speech->stop();
    41. QTime sys_t=QTime::currentTime();
    42. QString t=sys_t.toString("hh:mm:ss");
    43. ui->lineEdit->setText(t);
    44. }
    45. //定时器事件
    46. void Widget::timerEvent(QTimerEvent *e)
    47. {
    48. if(e->timerId()==tim)
    49. {
    50. QTime sys_t=QTime::currentTime();
    51. QString t=sys_t.toString("hh:mm:ss");
    52. //展示到ui界面
    53. ui->syslab->setText(t);
    54. }else if(e->timerId()==respeech_time)
    55. {
    56. QTextToSpeech *speech = new QTextToSpeech(this);
    57. // 设置语音输出的声音和语速
    58. speech->setVolume(2.0);
    59. speech->setRate(0.1);
    60. // 设置要说的文本
    61. QString text = "早安,我的未婚妻";
    62. // 语音播放文本
    63. respeech_time=this->startTimer(5000);
    64. speech->say(text);
    65. }
    66. }

     main

    1. #include "widget.h"
    2. #include
    3. int main(int argc, char *argv[])
    4. {
    5. QApplication a(argc, argv);
    6. Widget w;
    7. w.show();
    8. return a.exec();
    9. }

  • 相关阅读:
    关联分析——apprior算法
    回收站里面删除的照片如何恢复?
    Apifox : 不仅是Api调试工具,更是开发团队的协作神器
    PHP活动报名微信小程序系统源码
    求SM16106SC如何连接驱动四位数码管
    FineReport中字符串常用处理函数
    金仓数据库KingbaseES客户端编程接口指南-JDBC(5. JDBC 查询结果集处理)
    vue:v-model实现子组件和父组件数据双向绑定
    Servlet的类和方法
    PHP原生类总结利用
  • 原文地址:https://blog.csdn.net/YSTXDY/article/details/133045882