完成文本编辑器保存功能
widget.h
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
//字体
void Widget::on_fontBtn_clicked()
{
//定义一个ok用来返回是否选中字体
bool ok;
//调用静态成员函数getFontDialog
QFont f= QFontDialog::getFont(&ok,
QFont("幼圆",20,10,false),
this,
"选择字体");
//判断是否选中了字体
if(ok)
{
//将选中的字体设置到界面文本上
// ui->textEdit->setFont(f);
//将字体设置到选中的当前文本上
ui->textEdit->setCurrentFont(f);
}else
{
QMessageBox::information(this,"提示","您没有选择字体");
}
}
//颜色
void Widget::on_colorBtn_clicked()
{
//获取颜色对话框选择一个颜色
QColor c=QColorDialog:: getColor(QColor(35,203,190),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 file(*.*);;Text(*.txt)"
);
qDebug()<<fileName;
//文件操作
QFile file(fileName); //实例化文件对象
//打开文件
if(!file.open(QFile::ReadOnly))
{
return;
}
//读取数据
QByteArray msg= file.readAll();
//将数据展示到ui界面上
ui->textEdit->setText(msg);
//关闭文件
file.close();
}
//保存
void Widget::on_saveBtn_clicked()
{
QString fileName=QFileDialog::getSaveFileName(
this,
"保存",
"./",
"all(*.*)"
);
QFile file(fileName);
if(!file.open(QFile::ReadWrite))
{
return;
}
QString msg=ui->textEdit->toPlainText();
file.write(msg.toLocal8Bit());
file.close();
QMessageBox::information(this,"成功","保存成功");
}