qt文件操作

 对话框练习

#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_ztbtn_clicked()
{//调用QFontDialog类中的成员函数, 字体对话框、bool ok;                                                      //用于接受用户是否选择了字体QFont f = QFontDialog::getFont(&ok,                           //返回是否选中字体QFont("隶书",10,10,false),      //初始字体this,                          //父组件"选择字体");                     //对话框标题//将选择的字体进行使用if(ok){//ui->textEdit->setFont(f);ui->textEdit->setCurrentFont(f);}else{QMessageBox::information(this,"提示","您取消了选择");}
}//颜色按钮
void Widget::on_ysbtn_clicked()
{QColor c = QColorDialog::getColor(QColor("white"),this,"选择颜色");if(c.isValid()){//ui->textEdit->setTextColor(c);ui->textEdit->setTextBackgroundColor(c);}else{QMessageBox::information(this,"提示","取消选择");}
}//打开文件    槽
void Widget::on_dkbtn_clicked()
{//调用静态成员函数获取选中路径QString fileName = QFileDialog::getOpenFileName(this,                          //父组件"选择文件",                      //对话框标题"./",                          //起始路径"Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器if(fileName.isNull()){QMessageBox::information(this,"提示","取消文件");return ;}//输出文件路径qDebug() << fileName;//实例化一个文件对象QFile file(fileName);      //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象//判断文件是否存在if(!file.exists())return;//打开文件if(!file.open(QFile::ReadWrite))return;//读取文件中的内容QByteArray msg = file.readAll();//将内容展示到ui界面ui->textEdit->setText(QString::fromLocal8Bit(msg));//获取文本编辑器的内容//ui->textEdit->toPlainText();
}void Widget::on_bcbtn_clicked()
{//调用静态成员函数获取选中路径QString fileName = QFileDialog::getSaveFileName(this,                          //父组件"保存",                      //对话框标题"./",                          //起始路径"Image File(*.png *.jpg *.bmp);;Text File(*.txt);;All(*.*)"); //过滤器if(fileName.isNull()){QMessageBox::information(this,"提示","取消文件");return ;}//输出文件路径qDebug() << fileName;//实例化一个文件对象QFile file(fileName);      //使用获取到的文件路径,实例化一个文件对象,后期对文件的操作都基于该对象//判断文件是否存在if(!file.exists())return;//打开文件if(!file.open(QFile::ReadWrite))return;//    //读取文件中的内容//QByteArray msg = file.readAll();//获取文本编辑器的内容QString msg = ui->textEdit->toPlainText();//将内容展示到ui界面//ui->textEdit->setText(QString::fromLocal8Bit(msg));file.write(msg.toUtf8());file.close();
}

移动目标

#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::keyPressEvent(QKeyEvent *event)
{//qDebug() << "键盘被按下了" << event->text() << "键值: " << event->key();switch(event->key()){case 'W':{if(ui->label->y()<=0-ui->label->height()){ui->label->move(ui->label->x(),this->height());}ui->label->move(ui->label->x(),ui->label->y()-3);}break;case 'S':{if(ui->label->y()>=this->height()){ui->label->move(ui->label->x(),0-ui->label->height());}ui->label->move(ui->label->x(),ui->label->y()+3);}break;case 'A':{if(ui->label->x()<=0-ui->label->width()){ui->label->move(this->width(),ui->label->y());}ui->label->move(ui->label->x()-3,ui->label->y());}break;case 'D':{if(ui->label->x()>=this->width()){ui->label->move(0-ui->label->width(),ui->label->y());}ui->label->move(ui->label->x()+3,ui->label->y());}break;}
}

XMind

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

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

相关文章

在Spring Boot中使用Redis 5的Stream

引言 Redis是一个开源的高性能键值对存储系统&#xff0c;而Redis 5引入了新的数据结构——Stream&#xff08;流&#xff09;。Stream可以用于高效地保存和处理事件流数据。在本文中&#xff0c;我们将学习如何在Spring Boot应用程序中使用Redis 5的Stream功能。 步骤 步骤…

01_Flutter之下拉刷新和上拉加载

一.创建页面 由于我们需要请求网络&#xff0c;并将返回的数据渲染到页面上&#xff0c;所以需要继承StatefulWidget&#xff0c;本文涉及的接口&#xff0c;取自鸿神的玩android开放API class ProjectListPage extends StatefulWidget {overrideState<StatefulWidget>…

AMEYA360:士兰微推出600A/1200V IGBT汽车驱动模块,提升充电速度与行驶动力

随着人们对环保意识的提高和汽车驾驶体验感的不断追求&#xff0c;新能源汽车的市场需求逐渐增大&#xff0c;已然成为汽车发展的大趋势&#xff0c;但是新能源汽车充电时间长、续航里程短等问题仍然是汽车厂商和车主们的痛点。因此&#xff0c;需要更好的汽车驱动产品来实现“…

Java和Kotlin的Field在继承中的不同表现

Kotlin是一个宣称与Java兼容性较好的语言&#xff0c;但在接触后发现一些技术还是有“概念上”的冲突&#xff0c;本文就记录下两者对象的Field&#xff08;中文的说法有字段、域、属性、成员变量&#xff0c;下文若出现这些表达&#xff0c;指的都是这个东西&#xff09;在继承…

js摄像头动态检测

利用摄像头每一秒截图一次图像。然后计算2次图像之间的相似度。 如果相似度低于98%就会报警。 var video document.getElementsByClassName(inputvideo)[0]; video.innerHTML "<video classinput_video idcamera autoplay width640px height380px></video>…

工厂模式 与 抽象工厂模式 的区别

工厂模式&#xff1a; // 抽象产品接口 interface Product {void showInfo(); }// 具体产品A class ConcreteProductA implements Product {Overridepublic void showInfo() {System.out.println("This is Product A");} }// 具体产品B class ConcreteProductB impl…

windows10使用wheel安装tensorflow2.13.0/2.10.0

安装过程 安装虚拟环境安装virtualenv安装满足要求的python版本使用virtualenv创建指定python版本的虚拟环境 安装tensorflow2.13.0安装tensorflow-docs直接下载使用wheel下载 在VSCode编辑器中使用虚拟环境下的包 安装虚拟环境 这里笔者使用的是 virtualenv进行虚拟环境搭建的…

大数据平台之元数据

目录 一、表、字段元数据 二、作业元数据 一、表、字段元数据 表、字段元数据主要可以分为原始信息和附加信息两大类&#xff0c;原始信息包含&#xff1a;表名、表备注、字段名、字段类型、字段备注、表的大小、分区信息等&#xff0c;附加信息可以是跟表、字段相关的包含一…

VIRTIO-BLK代码分析(2)VIRTIO驱动分析

QEMU模拟的VIRTIO设备同时也是PCIE设备&#xff0c;Guest中VIRTIO PCIE驱动与之匹配&#xff0c;根据设备驱动模型&#xff0c;最终触发probe函数virtio_pci_probe()。该probe函数使能PCIE设备&#xff0c;并注册VIRTIO设备&#xff0c;并与VIRTIO-BLK匹配&#xff0c;触发VIRT…

通俗易懂讲解大模型:Tokenizer

Tokenizer Tokenizer 是 NLP pipeline 的核心组件之一。Tokenizer 的目标是&#xff1a;将文本转换为模型可以处理的数据。模型只能处理数字&#xff0c;因此 Tokenizer 需要将文本输入转换为数字输入。 通常而言有三种类型的 Tokenizer &#xff1a;Word-based Tokenizer、Cha…

【2594. 修车的最少时间】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个整数数组 ranks &#xff0c;表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。 同时给你一个整数 cars &#xff0c;表示…

2023国赛数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统&#xff0c; 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…

校园二手物品交易系统微信小程序设计

系统简介 本网最大的特点就功能全面&#xff0c;结构简单&#xff0c;角色功能明确。其不同角色实现以下基本功能。 服务端 后台首页&#xff1a;可以直接跳转到后台首页。 用户信息管理&#xff1a;管理所有申请通过的用户。 商品信息管理&#xff1a;管理校园二手物品中…

华为云使用脚本初始化Linux数据盘

初始化新挂载的磁盘 登录云服务器&#xff0c;执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 说明&#xff1a; 若回显异常&#xff0c;请检查云服务器是否绑定弹性公…

029:vue项目,勾选后今天不再弹窗提示

第029个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

豪华卧室怎么装?快来看看吧

一阵轻松的叹息&#xff0c;由柔软的质地、新鲜的空气和扎实的设计带来。只需稍微借鉴这些豪华卧室的创意&#xff0c;这一切都可以成为你的。 用华丽的四柱床提升 四柱床的柱子为床框增添了另一种维度&#xff0c;同时保持通风。长长的线条提高了房间的高度&#xff0c;吸引…

MySQL的故事——MySQL架构与历史

MySQL架构与历史 文章目录 MySQL架构与历史一、MySQL逻辑架构二、并发控制三、事务四、多版本并发控制(MVCC) 一、MySQL逻辑架构 第一层&#xff1a;连接处理、授权认证、安全等等 第二层&#xff1a;查询解析、分析、优化、缓存以及所有的内置函数。包含跨存储引擎的功能&…

Matlab图像处理-

有些时候&#xff0c;直接利用图像的灰度直方图选择阈值不是非常直观&#xff0c;这时&#xff0c;可以利用图像三个通道的直方图来进行图像分割&#xff0c;操作步骤如上文所示&#xff0c;下图为原始图片。 下图为三通道直方图。 下图将三个通道的直方图会绘制到一个图表上&a…

【完整代码】2023数学建模国赛C题代码--蔬菜类商品的自动定价与补货决策

C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需 求情况每天进…