完善文本编辑器
#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_pushButton_clicked()
{
bool ok;
QFont f=QFontDialog::getFont(
&ok,
QFont("宋体",10,3,false),
this,
"选择字体"
);
if(ok)
{
ui->textEdit->setFont(f);
}
else {
QMessageBox::information(this,"错误","用户没有选择字体");
}
}
//颜色对应的槽
void Widget::on_pushButton_2_clicked()
{
QColor c=QColorDialog::getColor(
QColor(),
this,
"选择颜色"
);
if(c.isValid())
{
ui->textEdit->setTextColor(c);
}
else {
QMessageBox::information(this,"错误","用户没有选择颜色");
}
}
//打开对应的槽函数
void Widget::on_pushButton_3_clicked()
{
QString filename=QFileDialog::getOpenFileName(
this,
"选择文件",
"./",
"所有文件(*.*);;头文件(*.h);;图片(*.png);;文本(*.txt)");
qDebug()<<filename;
//文件操作
//实例化文件对象
QFile file(filename);
//判断文件是否存在
if(!file.exists())
{
QMessageBox::information(this,"提示","文件不存在");
return;
}
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
QMessageBox::information(this,"错误","打开文件失败");
return;
}
//文件读写
QByteArray msg = file.readAll();
//关闭文件
file.close();
//将读取下来的数据展示到ui界面的文本上
ui->textEdit->setText(QString::fromLocal8Bit(msg));
}
//保存所对应的槽
void Widget::on_pushButton_4_clicked()
{
//读取文本内容
QString msg = ui->textEdit->toPlainText();
QString pathName = QFileDialog::getSaveFileName(this, "保存文件", "./", "TEXT(*.txt)");
//实例化一个文件对象
QFile file(pathName);
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
QMessageBox::information(this,"错误","打开文件失败");
return;
}
//将文本内容存入文件
file.write(msg.toLocal8Bit());
file.close();
}