要求:
实现对textedit中的内容进行另存
代码实现过程:
#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_FotnBtn_clicked()
{
bool ok; //判断是否选中字体
QFont f = QFontDialog::getFont(&ok,QFont("黑体",10),this,"选择字体"); //参数:是否选中状态 初始字体 父组件 提示信息
if(ok){
//选择字体成功
//ui->textEdit->setFont(f); //将所有字体进行改变
ui->textEdit->setCurrentFont(f); //将选中字体改变
}
else{
//未选择字体
QMessageBox::information(this,"提示","未选择字体");
}
}
//颜色对话框对应的槽函数
void Widget::on_ColorBtn_clicked()
{
QColor c = QColorDialog::getColor();
//ui->textEdit->setTextColor(c); //设置选择字体的颜色
ui->textEdit->setTextBackgroundColor(c); //设置选择字体的背景色
}
//打开文件对应的槽函数
void Widget::on_openbtn_clicked()
{
//参数 父组件 标题 起始路径 过滤器 //此时只是获取文件路径
QString fileName = QFileDialog::getOpenFileName(this,"打开文件","./","Txt(*.txt)");
QFile f(fileName);
if(f.open(QFile::ReadWrite)){//创建文件对象,打开指定文件
//打开文件,有读写权限
QByteArray msg = f.readAll(); //读取文件内容
ui->textEdit->setText(QString::fromLocal8Bit(msg)); //将读取的内容复制到ui界面上的textEdit
}
else{
QMessageBox::information(this,"","文件打开失败");
}
}
//另存文件对应的槽函数
void Widget::on_savebtn_clicked()
{
QString fileName = QFileDialog::getSaveFileName(this,"保存文件","./","Txt(*.txt)");
QFile f(fileName);
if(f.open(QFile::ReadWrite)){
QByteArray msg = ui->textEdit->toPlainText().toLocal8Bit();
f.write(msg);
}
else{
QMessageBox::information(this,"","文件另存失败");
}
}
代码实现结果:

