2024.2.23 C++QT 作业

news/2024/7/27 23:03:39

思维导图

练习题

1>简单实现闹钟播报,设置时间,当系统时间与设置时间相同时播报语音5次,然后停止。如果设置时间小于当前系统时间,则弹出消息提示框,并清空输入框。

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->timeLabel->setAlignment(Qt::AlignCenter);ui->showLabel->setAlignment(Qt::AlignCenter);id = startTimer(1000);}
int flag = 0;//在点击按钮才会有语音播报
QString time_str;//时间字符串
void Widget::timerEvent(QTimerEvent *event)
{//显示系统时间QTime sys_time = QTime::currentTime();time_str = sys_time.toString("hh:mm:ss");ui->timeLabel->setText(time_str);//获取输入的时间,和系统时间比较QString setTime = ui->lineEdit->text();//时间到则语音播报label文本内容QTextToSpeech *tts = new QTextToSpeech(this);if(setTime == time_str && flag == 1){for(int i = 1; i <= 5; i++){tts->say(ui->showLabel->text());}ui->showLabel->setText("播报完毕,关闭闹钟");killTimer(id);}
}Widget::~Widget()
{delete ui;
}void Widget::on_timeBtn_clicked()
{if(ui->lineEdit->text() < time_str){//设定时间小于当前时间int ret = QMessageBox::information(this,"提示","设定时间小于当前时间,请重新设定!",QMessageBox::Ok);if(ret == QMessageBox::Ok){//确认点击ok后,清空输入框ui->lineEdit->setText("");}}else{flag = 1;ui->showLabel->setText("时间到了");}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/8641.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

MFC 多文档程序的基本编程

下载了一个openGL mfc的多文档程序,以此来学习mfc多文档模式的编程; 1 基本编程 它每次新建一个文档,会在窗口绘制一个三角形、一个矩形;如果没有了图形刷新一下; 先看一下为什么每次打开新文档会绘制图形; 生成工程之后主要有5个类,比单文档程序多了一个子框架类; 可…

【JavaEE】_smart tomcat常见问题

目录 1. 插件安装故障问题 2. 端口占用问题 3. 乱码问题 1. 插件安装故障问题 如果由于网络问题在IDEA中无法直接安装插件&#xff0c;可以去IDEA官网进行下载&#xff1a; 进入官网后点击Install安装&#xff0c;得到一个jar包&#xff1a; 把jar包拖拽到idea上即可自动安装…

2.23数据结构

单向循环链表 创建单向循环链表&#xff0c;创建节点 &#xff0c;头插&#xff0c;按位置插入&#xff0c;输出&#xff0c;尾删&#xff0c;按位置删除功能 //main.c #include "loop_list.h" int main() {loop_p Hcreate_head();insert_head(H,12);insert_head(…

数据结构D3作业

1. 2. 按位插入 void insert_pos(seq_p L,datatype num,int pos) { if(LNULL) { printf("入参为空&#xff0c;请检查\n"); return; } if(seq_full(L)1) { printf("表已满&#xff0c;不能插入\n"); …

深入理解java虚拟机---自动内存管理

2.2 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而一直存在&#xff0c;有些区域则是依赖用户线程的启动和结束而建立和销…

Django学习记录04——靓号管理整合

1.靓号表 1.1 表结构 1.2 靓号表的构造 class PrettyNum(models.Model): 靓号表 mobile models.CharField(verbose_name"手机号", max_length11)# default 默认值# null true&#xff0c;blank true 允许为空price models.IntegerField(verbose_name"价…