qt事件机制学习笔记

 

实现闹钟功能

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
    , speecher(new QTextToSpeech(this))  //给语音播报者实例化空间
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}
//当定时器超时时 会自动执行该函数体代码
void Widget::timerEvent(QTimerEvent *e)
{
    //获取系统时间
    QTime sys_time = QTime::currentTime();

    //将系统事件转换成字符串
    QString s = sys_time.toString("hh:mm:ss");

    //将系统时间设置到ui界面上的lab中
    ui->label->setText(s);

    //居中
    ui->label->setAlignment(Qt::AlignCenter);

    //获取设置闹钟时间的文本
    QString t = ui->lineEdit->text();

    //判断是否到达设置时间 实现语音播报
    if(s==t)
    {
        speecher->say(ui->label_3->text());
    }

}

//启动按钮对应的槽函数处理
void Widget::on_pushButton_clicked()
{
      if(ui->pushButton->text() == "启动")
      {
          //启动定时器
          id = startTimer(1000);  //系统每隔1秒钟执行timerEvent()函数
          //按钮上的文本设置成关闭
          ui->pushButton->setText("关闭");
      }
      else {
          //关闭定时器
          killTimer(id);
          //按钮上的文本改成启动
          ui->pushButton->setText("启动");
      }
}

 

 

 

相关推荐

  1. Qt事件机制

    2024-03-27 14:32:03       37 阅读
  2. Qt笔记 事件分发

    2024-03-27 14:32:03       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 14:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 14:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 14:32:03       82 阅读
  4. Python语言-面向对象

    2024-03-27 14:32:03       91 阅读

热门阅读

  1. 【go从入门到精通】for和for range的区别

    2024-03-27 14:32:03       34 阅读
  2. lInux 常用命令

    2024-03-27 14:32:03       36 阅读
  3. C#委托与事件

    2024-03-27 14:32:03       38 阅读
  4. pg事务ID清理

    2024-03-27 14:32:03       37 阅读
  5. C#中让字典、列表、数组作为只读的方法参考

    2024-03-27 14:32:03       40 阅读
  6. C#基础-VS中常用代码段快速输入

    2024-03-27 14:32:03       35 阅读
  7. 程序员开发技术整理

    2024-03-27 14:32:03       33 阅读
  8. Vue小练习:记录任务所花费时间

    2024-03-27 14:32:03       44 阅读
  9. 分布式事务

    2024-03-27 14:32:03       42 阅读