完成文本编辑器的保存工作-代码:
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 <QWidget>
#include <QTimerEvent>
#include <QTime>
#include <QTextToSpeech>
#include <QDebug>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_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()<<ui->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();
}
思维导图: