完成文本编辑器的保存工作-代码:
- void Widget::on_pushButton_4_clicked()
- {
- //创建保存文件对话框
- QString filename = QFileDialog::getSaveFileName(this,
- "保存文件",
- "./",
- "All(*.*);;Text files (*.txt)");
- //创建一个文件对象,用filename路径名初始化
- QFile file(filename);
- //以只写的形式打开
- file.open(QFile::WriteOnly);
- //将textedit中的信息存入filename这个路径中
- QString msg = ui->textEdit->toPlainText(); //用msg接收textedit中的字符串
- QByteArray data = msg.toUtf8(); //将字符串转换为QByteArray类
- file.write(data); //写入
-
- file.close(); //关闭文件
- }
-
-
-
-
运行实例:
实现闹钟功能-代码:
widget.h
- #ifndef WIDGET_H
- #define WIDGET_H
-
- #include
- #include
- #include
- #include
- #include
-
- QT_BEGIN_NAMESPACE
- namespace Ui { class Widget; }
- QT_END_NAMESPACE
-
- class Widget : public QWidget
- {
- Q_OBJECT
-
- public:
- Widget(QWidget *parent = nullptr);
- ~Widget();
-
- void timerEvent(QTimerEvent *e) override;
-
- private slots:
- void on_startbtn_clicked();
-
- void on_closebtn_clicked();
-
- private:
- Ui::Widget *ui;
-
- int timer_id; //定时器的id号
- QTime sys_t; //定义系统时间
- QTextToSpeech speecher; //定义播报员
- };
- #endif // WIDGET_H
widget.cpp
- #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::timerEvent(QTimerEvent *e)
- {
- //获取系统时间
- sys_t = QTime::currentTime();
- //将QTime类对象转换为QString类对象
- QString t = sys_t.toString("hh:mm:ss");
- //展示到ui界面
- ui->timelabel->setText(t);
- //qDebug()<
clockEdit->text(); - if(e->timerId() == timer_id){ //匹配定时器信号
- if(t == ui->clockEdit->text()){ //判断当前系统时间与输入时间是否相等
- speecher.say(ui->textEdit->toPlainText()); //古诗朗诵
- }
- }
- }
-
- //启动定时器对应的槽函数
- void Widget::on_startbtn_clicked()
- {
- //功能:启动一个定时器
- //参数:超时时间,每隔给定的时间后,自动调用定时器处理函数
- //返回值:当前定时器的id号
- timer_id = this->startTimer(0);
-
- }
- //关闭定时器对应的槽函数
- void Widget::on_closebtn_clicked()
- {
- this->killTimer(timer_id); //关闭给定的定时器
- speecher.stop();
- }
-
-
-
思维导图:


