QT Day3

news/2024/4/23 7:44:52

完成文本编辑器的保存工作

//保存按钮对应的槽函数
void Widget::on_saveBtn_clicked()
{//文本编辑器的保存工作QString fileName=QFileDialog::getSaveFileName(this,         //父组件"选择要保存的文件",       //对话框标题"./",         //起始路径"All(*.*);;Images(*.png *.jpg *.xpm);;Text files (*.txt)");//过滤器//判断是否选择文件if(fileName.isNull()){QMessageBox::information(this,"提示","用户取消了保存文件");return;}qDebug()<<fileName;    //得到文件路径//文件操作//1、实例化一个文件对象QFile file(fileName);file.open(QIODevice::WriteOnly);//创建文件,且权限为只写QString msg = ui->textEdit->toPlainText();//获取编辑器的文本内容QByteArray saveName;saveName.append(msg);file.write(saveName);file.close();}

.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QTimerEvent>
#include<QTime>
#include<QLabel>
#include<QLineEdit>
#include<QTextToSpeech>     //文本转语音类
#include<QVoice>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_btn2_clicked();void on_btn1_clicked();private:Ui::Widget *ui;int timer_id;    //定时器的id号QLabel *label;//定义一个播报员QTextToSpeech *speecher;};
#endif // WIDGET_H

cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);timer_id=this->startTimer(1);ui->lineEdit->setPlaceholderText("闹钟时间");//给播报员实例化空间speecher=new QTextToSpeech(this);}Widget::~Widget()
{delete ui;
}//定时器事件处理函数
void Widget::timerEvent(QTimerEvent *e)
{if(e->timerId()==timer_id)    //说明定时器1到位{QTime sys_t=QTime::currentTime();       //获取系统时间//将QTmie类对象转换为字符串QString t=sys_t.toString("hh:mm:ss");   //转换成我想要的格式//展示到ui界面ui->label->setText(t);if(ui->lineEdit->text()==ui->label->text()){speecher->say(ui->textEdit->toPlainText());}}
}//关闭系统时间的槽函数
void Widget::on_btn2_clicked()
{this->killTimer(timer_id);      //关闭给定的定时器
}//启动系统时间的槽函数
void Widget::on_btn1_clicked()
{timer_id=this->startTimer(1000);
}

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

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

相关文章

SpringSecurity 入门

文章目录 Spring Security概念快速入门案例环境准备Spring配置文件SpringMVC配置文件log4j配置文件web.xmlTomcat插件 整合SpringSecurity 认证操作自定义登录页面关闭CSRF拦截数据库认证加密认证状态记住我授权注解使用标签使用 Spring Security概念 Spring Security是Spring…

《Python趣味工具》——自制emoji3

今日目标 在上次&#xff0c;我们绘制了静态的emoji图。并且总结了turtle中的常用函数。 本次我们将尝试制作一个动态的emoji&#xff0c;让你的表情包动起来&#xff01; 文章目录 一、动画原理&#xff1a;二、制作动画&#xff1a;1. 修改eyes_black()函数&#xff1a;2. 绘…

java实现对指定的敏感词汇进行过滤

项目中需要做到所发文章、评价进行敏感词过滤&#xff0c;用最原始的字符串循环过滤很显然效率不太行&#xff0c;然后查找资料看到DFA算法&#xff08;有限状态机&#xff09;&#xff0c;感觉可以用来实现敏感词过滤。 原理&#xff1a;基于状态转移来检索敏感词&#xff0c;…

Vscode 快速下载

https://vscode.cdn.azure.cn/stable/8b617bd08fd9e3fc94d14adb8d358b56e3f72314/VSCodeUserSetup-x64-1.82.0.exe https://vscode.cdn.azure.cn/------>镜像&#xff0c;将官网的下载地址复制过来&#xff0c;stable开始拼接到后面

Linux搭建Apache(秒懂超详细)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

uni-app:实现条件判断展示图片(函数判定+三目运算)

一、多条件判断&#xff08;通过函数进行图片展示&#xff09; 效果 代码 在data中定义图片信息和要传递的数据信息&#xff0c;在src中写入函数并携带要传递的数据&#xff0c;通过传递的数据在函数中进行判断&#xff0c;并返回对应的图片信息 <template><view&…