文件读写
#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; //接收返回的结果,存储是否选中字体
QFont f = QFontDialog::getFont(
&ok, //返回是否选中
QFont("宋体",10,2,false), //初始字体,使用匿名对象传入
this, //父组件
"选择字体"); //对话框标题
//对ok进行判断,判断用户是否选中了字体
if(ok)
{
//将该字体加载到文本内容上
//ui->textEdit->setFont(f); //将所有字体进行更改
ui->textEdit->setCurrentFont(f);
}
else
{
QMessageBox::information(this,"错误","用户没有选中字体");
}
}
void Widget::on_colorbtn_clicked()
{
//调取系统中的颜色对话框
QColor c = QColorDialog::getColor(
QColor(100,100,100), //初始颜色
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, //父组件
"选择文件", //对话框标题
"./", //起始路径
"所有文件(*.*);;头文件(*.h);;图片(*.png *.xpm *.jpg);;文本(*.txt)"); //过滤器
//输出该路径看看是否正确
//qDebug() << fileName;
//文件操作
//1、实例化文件对象
QFile file(fileName);
//2、判断文件是否存在
if(!file.exists())
{
QMessageBox::information(this,"提示","文件不存在");
return ;
}
//3、打开文件
if(!file.open(QIODevice::ReadWrite))
{
QMessageBox::information(this,"错误","文件打开失败");
return ;
}
//4、文件读写
QByteArray msg = file.readAll(); //读取文件中的所有信息
//5、关闭文件
file.close();
//将读取下来的数据展示到ui界面的文本上
ui->textEdit->setText(QString::fromLocal8Bit(msg));
}
void Widget::on_savebtn_clicked()
{
QString fileName = QFileDialog::getSaveFileName(
this, //父组件
"选择文件", //对话框标题
"./", //起始路径
"所有文件(*.*);;头文件(*.h);;图片(*.png *.xpm *.jpg);;文本(*.txt)"); //过滤器
//输出该路径看看是否正确
//qDebug() << fileName;
//文件操作
//1、实例化文件对象
QFile file(fileName);
//2、判断文件是否存在
if(!file.exists())
{
QMessageBox::information(this,"提示","文件不存在");
return ;
}
//3、打开文件
if(!file.open(QIODevice::ReadWrite))
{
QMessageBox::information(this,"错误","文件打开失败");
return ;
}
//4、文件读写
QString msg_1 = ui->textEdit->toPlainText();
QString msg_2 = "\n";
QString msg=msg_2 + msg_1;
file.write(msg.toLocal8Bit()); //向文件写入信息
//5、关闭文件
file.close();
QMessageBox::information(this,"提示","文件保存成功");
}