2月10日QT

作业> 将文本编辑器功能完善

include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>   //消息对话框类
#include <QFontDialog>  //字体类对话框
#include <QFont>        //字体类
#include <QColorDialog> //颜色对话框类
#include <QColor>       //颜色类
#include <QFileDialog>
#include <QFile>
#include <QInputDialog>
#include <QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}//字体对话框槽函数
void Widget::on_fontBtn_clicked()
{bool ok;  ////调用字体对话框静态成员函数QFont f=QFontDialog::getFont(&ok,        //是否确定选择QFont("楷体",10,10),//对话框初始字体this,               //父组件"选自字体");         //对话框标题//对是否选中字体判断if(ok==true){//将选择的字体设置到文本编辑器中//   ui->textEdit->setFont(f);     //改变所有文字字体ui->textEdit->setCurrentFont(f);//改变选中文字的字体}else{QMessageBox::information(this,"提示","用户取消了字体设置");}
}//颜色按钮
void Widget::on_colorBtn_clicked()
{//调用静态成员函数QColor c =QColorDialog::getColor(QColor("red"),this,"选择颜色");//对选择的颜色进行判端if(c.isValid()){//表示用户点击确定按钮// ui->textEdit->setTextColor(c); //设置字体颜色ui->textEdit->setTextBackgroundColor(c); //设置字体背景颜色}else{//用户点击取消按钮QMessageBox::information(this,"提示","用户取消了选择颜色");}
}//打开文件按钮
void Widget::on_openBtn_clicked()
{//调用静态成员函数QString fname =QFileDialog::getOpenFileName(this,"选择文件","./","all(*.*);;text(*.txt);;Image(*.png *.jpg *.xpm);;soures,(*.cpp)");//进行文件IO操作//1.实例化一个文件对象QFile f;f.setFileName(fname); //设置要管理的文件//2.打开文件if(!f.exists()){QMessageBox::information(this,"提示","文件不存在");return;}if(!f.open(QFile::ReadOnly|QFile::WriteOnly)){QMessageBox::information(this,"提示","文件打开失败");}//程序至此,表示文件已经打开//3.读取文件中的数据QByteArray msg =f.readAll();//将读取出来的数据展示出来ui->textEdit->setText(QString(msg));//4.关闭文件f.close();
}//输入对话框的槽函数
void Widget::on_inputBtn_clicked()
{bool ok;//调用静态成员函数QString text= QInputDialog::getText(this,   //父组件"输入文本",           //对话框标题"请输入姓名",         //输入框提示文本内容QLineEdit::Password, //输入框回显模式"",                  //输入框中默认文本&ok);                //判断用户是否选中输入的数据//对ok精选判断if(ok==true){//表示用户确定了输入的数据qDebug()<<text;}else{QMessageBox::information(this,"提示","用户取消输入数据");}
}//另存对话框的槽函数
void Widget::on_saveBtn_clicked()
{QString f = QFileDialog::getSaveFileName(this, "另存为", "", "文本文件 (*.txt);;所有文件 (*.*)");
}

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

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

相关文章

ECG分析0210

指标计算方法 1. HR (心率&#xff0c;Heart Rate)&#xff1a; 心率是每分钟心跳的次数。它通常通过计算RR间期&#xff08;即两次R波之间的时间间隔&#xff09;来获得。 计算方法&#xff1a; 首先&#xff0c;检测到R波的位置&#xff08;例如通过find_peaks函数检测&a…

【Java】多线程和高并发编程(四):阻塞队列(上)基础概念、ArrayBlockingQueue

文章目录 四、阻塞队列1、基础概念1.1 生产者消费者概念1.2 JUC阻塞队列的存取方法 2、ArrayBlockingQueue2.1 ArrayBlockingQueue的基本使用2.2 生产者方法实现原理2.2.1 ArrayBlockingQueue的常见属性2.2.2 add方法实现2.2.3 offer方法实现2.2.4 offer(time,unit)方法2.2.5 p…

【Java】多线程和高并发编程(三):锁(下)深入ReentrantReadWriteLock

文章目录 4、深入ReentrantReadWriteLock4.1 为什么要出现读写锁4.2 读写锁的实现原理4.3 写锁分析4.3.1 写锁加锁流程概述4.3.2 写锁加锁源码分析4.3.3 写锁释放锁流程概述&释放锁源码 4.4 读锁分析4.4.1 读锁加锁流程概述4.4.1.1 基础读锁流程4.4.1.2 读锁重入流程4.4.1.…

【R语言】相关系数

一、cor()函数 cor()函数是R语言中用于计算相关系数的函数&#xff0c;相关系数用于衡量两个变量之间的线性关系强度和方向。 常见的相关系数有皮尔逊相关系数&#xff08;Pearson correlation coefficient&#xff09;、斯皮尔曼秩相关系数&#xff08;Spearmans rank corre…

Web - CSS3过渡与动画

过渡 基本使用 transition过渡属性是css3浓墨重彩的特性&#xff0c;过渡可以为一个元素在不同样式之间变化自动添加补间动画。 过渡从kIE10开始兼容&#xff0c;移动端兼容良好&#xff0c;网页上的动画特效基本都是由JavaScript定时器实现的&#xff0c;现在逐步改为css3过…

Unity 高度可扩展的技能与多 Buff 框架详解

一、框架设计 1.1 核心思想 组件化设计: 将技能和 Buff 抽象为可复用的组件&#xff0c;通过组合不同的组件实现复杂的效果。 数据驱动: 使用 ScriptableObject 或 JSON 等数据格式定义技能和 Buff 的属性&#xff0c;方便配置和修改。 事件驱动: 利用 Unity 的事件系统或自…

编译和链接【一】

文章目录 编译和链接【一】从翻译单元到二进制文件 编译和链接【一】 在我大一的时候&#xff0c; 我使用VC6.0对C语言程序进行编译链接和运行 &#xff0c; 然后我接触了VS&#xff0c; VS code等众多IDE&#xff0c; 这些IDE界面友好&#xff0c; 使用方便&#xff0c; 例如…

图像锐化(QT)

如果不使用OpenCV&#xff0c;我们可以直接使用Qt的QImage类对图像进行像素级操作来实现锐化。锐化算法的核心是通过卷积核&#xff08;如拉普拉斯核&#xff09;对图像进行处理&#xff0c;增强图像的边缘和细节。 以下是一个完整的Qt应用程序示例&#xff0c;展示如何使用Qt…

迅雷下载的原理和使用协议的分析

迅雷作为一款广泛使用的下载工具&#xff0c;其核心原理是通过整合多种下载协议和资源分发技术来提升下载速度。以下是对其原理及协议的详细分析&#xff1a; 一、迅雷下载的核心原理 多协议混合下载&#xff08;P2SP&#xff09; P2SP&#xff08;Peer-to-Server-Peer&#xf…

【动手学运动规划】5.4 二次规划问题:QP优化

站在天堂看地狱&#xff0c;人生就像情景剧&#xff1b;站在地狱看天堂&#xff0c;为谁辛苦为谁忙。 —武林外传 白展堂 &#x1f3f0;代码及环境配置&#xff1a;请参考 环境配置和代码运行! 在运动规划算法中, QP优化是非常常见的优化问题形式, 本节我们将进行介绍. 5.4.1…

Linux: ASoC 声卡硬件参数的设置过程简析

文章目录 1. 前言2. ASoC 声卡设备硬件参数2.1 将 DAI、Machine 平台的硬件参数添加到声卡2.2 打开 PCM 流时将声卡硬件参数配置到 PCM 流2.3 应用程序对 PCM 流参数进行修改调整 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&am…

ansible使用学习

一、查询手册 1、官网 ansible官网地址&#xff1a;https://docs.ansible.com 模块查看路径&#xff1a;https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html#plugins-in-ansible-builtin 2、命令 ansible-doc -s command二、相关脚本 1、服务…

jmap使用

常用命令 jmap -heap PID jmap -histo PID | head -20 jmap -dump:formatb,fileheap_dump.hprof PID jmap 是 Java 开发工具包&#xff08;JDK&#xff09;提供的一个命令行工具&#xff0c;用于生成 Java 进程的内存映射信息。它可以帮助开发者分析 Java 堆内存的使用情况…

RabbitMQ 如何设置限流?

RabbitMQ 的限流&#xff08;流量控制&#xff09;主要依赖于 QoS&#xff08;Quality of Service&#xff09; 机制&#xff0c;即 prefetch count 参数。这个参数控制每个消费者一次最多能获取多少条未确认的消息&#xff0c;从而避免某个消费者被大量消息压垮。 1. RabbitMQ…

第四十八章:黄山之行:与小一的奇妙冒险

自从小泽泽满月酒过后&#xff0c;小冷一家的生活又恢复了往日的温馨与忙碌。小泽泽在家人的悉心照料下茁壮成长&#xff0c;而小冷和小颖也在工作与家庭之间努力平衡着。2024 年 11 月&#xff0c;秋意正浓&#xff0c;山林间五彩斑斓&#xff0c;空气中弥漫着清爽的气息。小冷…

基于 SpringBoot 和 Vue 的智能腰带健康监测数据可视化平台开发(文末联系,整套资料提供)

基于 SpringBoot 和 Vue 的智能腰带健康监测数据可视化平台开发 一、系统介绍 随着人们生活水平的提高和健康意识的增强&#xff0c;智能健康监测设备越来越受到关注。智能腰带作为一种新型的健康监测设备&#xff0c;能够实时采集用户的腰部健康数据&#xff0c;如姿势、运动…

2025.2.8 寒假综合训练赛2题解

A. 博弈 Link&#xff1a;P1290 欧几里德的游戏 博弈类的题目&#xff0c;首先考虑找找有什么性质&#xff0c;从而找到“必胜态”和“必败态”。 其中&#xff0c;面对“必胜态”不一定取胜&#xff08;看个人操作的好坏&#xff09;&#xff0c;但面对“必败态”一定输&am…

docker离线安装及部署各类中间件(x86系统架构)

前言&#xff1a;此文主要针对需要在x86内网服务器搭建系统的情况 一、docker离线安装 1、下载docker镜像 https://download.docker.com/linux/static/stable/x86_64/ 版本&#xff1a;docker-23.0.6.tgz 2、将docker-23.0.6.tgz 文件上传到服务器上面&#xff0c;这里放在…

Spring Boot 中的日志配置

文章目录 Spring Boot 中日志配置的源码分析1. Spring Boot 日志框架的选择与自动配置2. 日志自动配置与默认行为3. 日志系统的核心组件&#xff1a;Logger 和 LoggerFactory4. 日志配置文件的解析配置日志级别配置日志输出格式和目标 5. 日志级别的控制自定义日志级别 6. 自定…

从零到一:我的元宵灯谜小程序诞生记

缘起&#xff1a;一碗汤圆引发的灵感 去年元宵节&#xff0c;我正捧着热腾腾的汤圆刷朋友圈&#xff0c;满屏都是"转发锦鲤求灯谜答案"的动态。看着大家对着手机手忙脚乱地切换浏览器查答案&#xff0c;我突然拍案而起&#xff1a;为什么不做一个能即时猜灯谜的微信…