QT--day3

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

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::on_fontbtn_clicked()
{bool ok;//调用grtfont获取一个字体对话框QFont f=QFontDialog::getFont(&ok,QFont("隶书",10,10,false),this,"选择字体");//对OK进行判断,判断用户是否选择字体if(ok){//用户选择字体//将选中的字体,进行设置//设置全部文字字体//ui->textEdit->setFont(f);//设置选中的字体ui->textEdit->setCurrentFont(f);//设置选中字体倾斜//ui->textEdit->setFontItalic(true);}else{//用户没有选择字体QMessageBox::information(this,"取消","用户取消选择字体");}
}
//颜色按钮对应的槽函数
void Widget::on_colorbtn_clicked()
{QColor c=QColorDialog::getColor(QColor("green"),this,"选择颜色");if(c.isValid()){//设置字体的颜色ui->textEdit->setTextColor(c);//设置字体的背景的颜色ui->textEdit->setTextBackgroundColor(c);}else{QMessageBox::information(this,"取消","用户取消了选择颜色");}
}void Widget::on_openbtn_clicked()
{QString fileName = QFileDialog::getOpenFileName(this,"选择文件","./","ALL(*.*);;Images(*.png *.xpm *.jpg)::Text file (*.text)");//判断是否选择文件if(fileName.isNull()){QMessageBox::information(this,"提示","用户取消了选择");return;}qDebug()<<fileName;//实例化文件对象QFile file(fileName);//打开文件if(!file.isOpen()){//调用打开文件操作if(!file.open(QFile::ReadWrite)){QMessageBox::critical(this,"失败","文件打开失败");return;}}//读文件QByteArray  msg =file.readAll();//关闭文件file.close();//将读取的文件展示在UI界面ui->textEdit->setText(msg);}
//保存
void Widget::on_savebtn_clicked()
{QString fileName = QFileDialog::getSaveFileName(this,"保存文件","./","ALL(*.*);;Images(*.png *.xpm *.jpg)::Text file (*.text)");if(fileName.isNull()){QMessageBox::information(this,"提示","用户取消了保存");return;}qDebug()<<fileName;QFile file(fileName);if(!file.isOpen()){//调用打开文件操作if(!file.open(QFile::ReadWrite)){QMessageBox::critical(this,"失败","文件打开失败");return;}}QString text =ui->textEdit->toPlainText();file.write(text.toUtf8());file.close();}

3、定时器播报

wiget.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(1000);tt=new QTextToSpeech(this);
}Widget::~Widget()
{delete ui;
}void Widget::timerEvent (QTimerEvent *e)
{if(e->timerId()==timer_id){QTime sys_t =QTime::currentTime();QString t=sys_t.toString("hh.mm");ui->label->setText(t);}else if(e->timerId()==timer_id2){QString t=ui->lineEdit->text();QString t1=ui->label->text();if(t==t1){QString a1=ui->textEdit->toPlainText();tt->say(a1);}}}
void Widget::on_pushButton_clicked()
{timer_id2 = this->startTimer(3000);
}void Widget::on_pushButton_2_clicked()
{tt->stop();this->killTimer(timer_id2);
}

wiget.h

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【排障记录】扩展坞USB 3.0能用而2.0不能用

一、症状表现 日常使用小米的一个扩展坞连接笔记本&#xff0c;平时用来插U盘&#xff0c;没有什么问题&#xff0c;但是今天插了鼠标键盘&#xff0c;发现根本不识别 二、排查过程 目前的连接结构 笔记本C口→type-C延长线→扩展坞A→设备 1.排查笔记本故障 将键盘鼠标插…

Python灰帽编程——错误异常处理与面向对象

文章目录 错误异常处理与面向对象1. 错误和异常1.1 基本概念1.1.1 Python 异常 1.2 检测&#xff08;捕获&#xff09;异常1.2.1 try except 语句1.2.2 捕获多种异常1.2.3 捕获所有异常 1.3 处理异常1.4 特殊场景1.4.1 with 语句 1.5 脚本完善 2. 内网主机存活检测程序2.1 scap…

QT:使用行编辑器、滑动条、滚动条、进度条、定时器

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QLineEdit> //行编辑器 #include <QSlider> //滑动条 #include <QScrollBar> //滚动条 #include <QProgressBar> //进度条 #include <QTimer> …

JDK8新特性

Lembda表达式 lembda表达式是一个简洁、可传递的匿名函数,实现了把代码块赋值给一个变量的功能 是我认为jdk1.8中最让人眼前一亮的特性&#xff08;我没用过其他函数式的语言&#xff09; 在了解表达式之前&#xff0c;我们先看两个概念 函数式接口 含有且仅含有一个抽象方法&…

随手笔记(四十五)——idea git冲突

图片为引用&#xff0c;在一次导入项目至gitee的过程中&#xff0c;不知道为什么报了403&#xff0c;很奇怪的一个错误&#xff0c;网上很多的答案大概分成两种。 第一种是最多的&#xff0c;直接找到windows凭据删掉 很抱歉的告诉各位&#xff0c;你们很多人到这里就已经解…

Python基础数据结构入门必读指南

更多资料获取 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享的是Python中常见的数据结构。 1.数组 含义&#xff1a;数组是一种有序的数据结构&#xff0c;其中的元素可以按照索引来访问。数组…

30天入门Python(基础篇)——第2天:Python安装(保姆级)与IDE的认识与选择+详细安装教程

文章目录 专栏导读上一节课回顾1、Python解释器的安装查看各个版本的Python解释器①、ok,双击安装②、这里我们选择【自定义】安装&#xff0c; 下面的【将Python添加在环境变量】大家一定要打个勾③、点击【Next】进行下一步④、这里不建议安装在C盘, 点击【Browse】我在F盘创…

keil报错:Flash Download failed - Could not load file‘..\..\Output\Template.axf

keil报错&#xff1a;Flash Download failed - Could not load file’…\Output\Template.axf&#xff0c;如下图所示&#xff1a; 原因是很多.h文件没有定义位置&#xff0c;可以按照下图操作&#xff1a; 而且&#xff0c;如果是想使用压缩包&#xff0c;那一定要关闭keil后…

Android 数据库封装(SQLite)

Android 数据库操作&#xff08;SQLite&#xff09; Android 数据库操作&#xff08;SQLite&#xff09;动态预览使用初始化生成表实体类插入数据批量插入删除数据删除全部修改数据查找&#xff08;列表&#xff09;查找&#xff08;单条&#xff09;条件查找&#xff08;列表&…

算法刷题 week2

目录 week21. 二维数组中的查找题目题解(单调性扫描) O(nm) 2.替换空格题目题解(线性扫描) O(n)(双指针扫描) O(n) 3.从尾到头打印链表题目题解(遍历链表) O(n) week2 1. 二维数组中的查找 题目 题解 (单调性扫描) O(nm) 核心在于发现每个子矩阵右上角的数的性质&#xff1…

docker-compose使用

docker-compose docker的项目编排 一、安装docker-compose Rocky Linux Rocky Linux安装Docker Compose的步骤如下&#xff1a; 安装Docker。您可以使用以下命令安装Docker&#xff1a; sudo dnf install docker-ce docker-ce-cli containerd.io安装Docker Compose。您可以…

ChatGPT实战-Embeddings打造定制化AI智能客服

本文介绍Embeddings的基本概念&#xff0c;并使用最少但完整的代码讲解Embeddings是如何使用的&#xff0c;帮你打造专属AI聊天机器人&#xff08;智能客服&#xff09;&#xff0c;你可以拿到该代码进行修改以满足实际需求。 ChatGPT的Embeddings解决了什么问题&#xff1f; …

上海亚商投顾:三大指数小幅下跌 光刻机概念股午后走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日小幅调整&#xff0c;创业板指走势较弱。减肥药概念股继续大涨&#xff0c;常山药业2连板&#x…

linux( CentOs)对mysql基本操作和密码修改

1.mysql登录 mysql -uroot -p 2.显示所有数据库 Show databases; 3.生产过程中改密码 use mysql ; 查看user表中的user、host、password信息。 select user,host,password from user; select host,user from user;使用“GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIE…

Linux调试器-gdb使用

文章目录 前言一、pandas是什么&#xff1f;1、gdb介绍2、gdb使用2.1 启动gdb和退出gdb2.2 list显示代码命令2. run运行程序命令2.3 break设置断点命令2.4 delete删除断点命令2.5 next逐过程执行命令2.6 step逐语句向下执行命令2.7 print打印表达式值命令2.8 bt命令和finish命令…

初识C语言——详细入门一(系统性学习day4)

目录 前言 一、C语言简单介绍、特点、基本构成 简单介绍&#xff1a; 特点&#xff1a; 基本构成&#xff1a; 二、认识C语言程序 标准格式&#xff1a; 简单C程序&#xff1a; 三、基本构成分类详细介绍 &#xff08;1&#xff09;关键字 &#xff08;2&#xf…

插拔结构脉冲离子风工作原理

脉冲离子风机有着特殊的结构-插拔结构&#xff0c;清洁保养维修更简单、更安全&#xff1b;核心部件模块化&#xff1b;它有着超强的消除静电能。 脉冲台式离子风机的安装方法:将离子风机置于台面上或悬挂于台面上&#xff0c;插上电源插头&#xff0c;打开风机&#xff0c;调节…

微信群发一次能发1000个好友了!你发现了吗?

微信作为我们日常交流的主要工具之一 群发功能在我们的日常生活中也非常实用 但有时候 比如在新年期间 需要向所有客户发送祝福时 在公司做活动期间 向所有客户发起邀约时 如果一个一个点击来发送信息 会非常麻烦 但是&#xff01;&#xff01; 我今天发现微信 已经…

部署ik分词器

部署ik分词器 案例版本&#xff1a;elasticsearch-analysis-ik-8.6.2 ​ ES默认自带的分词器对中文处理不够友好&#xff0c;创建倒排索引时可能达不到我们想要的结果&#xff0c;然而IK分词器能够很好的支持中文分词 ​ 因为是集群部署&#xff0c;所以每台服务器中的ES都需…

HarmonyOS应用开发—资源分类与访问

应用开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&#xff0c;在不同的设备或配置中&#xff0c;这些资源的值可能不同。 应用资源&#xff1a;借助资源文件能力&#xff0c;开发者在应用中自定义资源&#xff0c;自行管理这些资源在不同的设备或配置中的表…