已解决
C++qt Day10
来自网友在路上 144844提问 提问时间:2023-09-27 12:31:53阅读次数: 44
最佳答案 问答题库448位专家为你答疑解惑
1.制作闹钟
头文件
#include <QWidget>
#include <QTimerEvent>
#include <QTime>
#include <QtTextToSpeech/QTextToSpeech>
#include <QTextEdit>
#include <QString>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void timerEvent(QTimerEvent *e) override; //定时器事件处理函数private slots:void on_startBtn_clicked();void on_stopBtn_clicked();private:Ui::Widget *ui;QTextToSpeech *speecher;int timer_id;
};
#endif // WIDGET_H
源函数
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);speecher = new QTextToSpeech(this);
}Widget::~Widget()
{delete ui;
}//开始按钮对应的槽函数
void Widget::on_startBtn_clicked()
{timer_id = this->startTimer(1000);
}//停止按钮
void Widget::on_stopBtn_clicked()
{//this->killTimer(timer_id);speecher->stop();ui->lineEdit->clear();
}void Widget::timerEvent(QTimerEvent *e){if(e->timerId() == timer_id){QTime sys_t = QTime::currentTime(); //获取系统时间QString t = sys_t.toString("hh:mm:ss"); //将QTime类对象转换为字符串ui->nowtimeLeb->setText(t); //展示到ui界面if(t == ui->lineEdit->text()){speecher->say(ui->textEdit->toPlainText());}}}
主函数
#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
2.保存文件
头文件
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QFileDialog>
#include <QFile>
#include <QMessageBox>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H
源文件
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString fileName = QFileDialog::getSaveFileName(this,"保存文件","./","Text file(*.txt)");if(fileName.isNull()){QMessageBox::information(this, "提示", "用户取消了保存文件");return ;}QFile file(fileName);if(!file.isOpen()){if(!file.open(QFile::ReadWrite)){QMessageBox::critical(this, "失败", "文件打开失败");return;}}QString msg = ui->textEdit->toPlainText();file.write(msg.toUtf8());file.close();
}
主函数
#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"C++qt Day10":http://eshow365.cn/6-14667-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 美国零售电商平台Target,值得入驻吗?如何入驻?
- 下一篇: 5153. 删除