9.11.

cpp 复制代码
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
    , speecher(new QTextToSpeech(this))
{
    //设置时钟
    ui->setupUi(this);
    startTimer(1000);
    //文本框label居中对齐
    ui->label_2->setAlignment(Qt::AlignCenter);
    connect(this,&Widget::my_signal,this,&Widget::my_slot);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::timerEvent(QTimerEvent* e)
{

    QTime sys_time = QTime::currentTime();
    QString t = sys_time.toString("hh:mm:ss");
    QString a = sys_time.toString("hh:mm");
    ui->time->setText(t);
    ui->time->setAlignment(Qt::AlignCenter);
    if(a == ui->alarmClock->text())
    {
        ui->voiceBox->setText("现在是北京时间"+a);
        emit my_signal();
    }
}

void Widget::on_logIn_clicked()
{
    //未输入闹钟就启动
    if(ui->logIn->text() == "启动闹钟" && ui->alarmClock->text() == "")
    {
        qDebug() << "请输入闹钟时间\n";
    }
    if(ui->logIn->text() == "启动闹钟" && ui->alarmClock->text() != "")
    {//正常启动
        ui->logIn->setText("关闭闹钟");
        ui->voiceBox->setText("闹钟已启动");
    }
    else if(ui->logIn->text() == "关闭闹钟")
    {//关闭闹钟并清除闹钟
        ui->voiceBox->setText("闹钟已关闭");
        ui->alarmClock->clear();
        ui->logIn->setText("启动闹钟");
    }
}

void Widget::my_slot()
{
    for (int i=0;i<5;i++)
    {
        speecher->say(ui->voiceBox->text());
    }
}

相关推荐
w(゚Д゚)w吓洗宝宝了14 小时前
命令模式 - 命令模式的设计思想
c++·命令模式
博一波6 天前
【设计模式-行为型】命令模式
设计模式·命令模式
计算机小混子9 天前
C++实现设计模式---命令模式 (Command)
c++·设计模式·命令模式
大懒猫软件9 天前
如何写出优秀的提示词?ChatGPT官方的六种方法
ai·chatgpt·prompt·命令模式
晚秋贰拾伍9 天前
设计模式的艺术-命令模式
运维·设计模式·运维开发·命令模式·开闭原则
Chris·Bosh10 天前
QT:控件属性及常用控件(3)-----输入类控件(正则表达式)
qt·正则表达式·命令模式
好好学习++12 天前
【HF设计模式】06-命令模式
java·c++·设计模式·命令模式
咖啡の猫12 天前
命令模式详解与应用
设计模式·命令模式
码农爱java17 天前
设计模式--命令模式【行为型模式】
java·设计模式·面试·命令模式·原理·23中设计模式
hope_wisdom18 天前
实战设计模式之命令模式
设计模式·系统架构·软件工程·命令模式·架构设计