实现:点击“保存”按钮,实现textedit保存到别的文件内
运行结果如下

widght.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QFont>
#include<QFontDialog>
#include<QMessageBox>
#include<QColorDialog>
#include<QFileDialog>
#include<QFile>
#include<QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_fontBtn_clicked();
void on_colorBtn_clicked();
void on_openBtn_clicked();
void on_saveBtn_clicked();
private:
Ui::Widget *ui;
};
#endif
widght.cpp
#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("幼圆", 20, 10, false),
this,
"选择字体");
ui->textEdit->setCurrentFont(f);
if(ok){
}else{
QMessageBox::information(this, "提示", "您没有选择字体");
}
}
void Widget::on_colorBtn_clicked()
{
QColor c = QColorDialog::getColor(QColor(190, 100, 170),
this,
"请选择颜色");
QColor d = QColorDialog::getColor(QColor(100, 100, 100),
this,
"请选择颜色");
if(c.isValid() && d.isValid()){
ui->textEdit->setTextColor(c);
ui->textEdit->setTextBackgroundColor(d);
}else{
QMessageBox::information(this, "提示", "您没有选择颜色");
}
}
void Widget::on_openBtn_clicked()
{
QString filePath = QFileDialog::getOpenFileName(
this, "选择文件", "", "all file(*.*);;Text(*.txt);;Image(*.png *.jpg *.gif)"
);
if (!filePath.isEmpty()) {
QFile file(filePath);
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
QString fileContent = in.readAll();
ui->textEdit->setPlainText(fileContent);
file.close();
}
else {
}
}
};
void Widget::on_saveBtn_clicked()
{
QString savePath = QFileDialog::getSaveFileName(
this, "保存文件", "", "all file(*.*);;Text(*.txt);;Image(*.png *.jpg *.gif)"
);
if (!savePath.isEmpty()) {
QFile saveFile(savePath);
if (saveFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&saveFile);
out << ui->textEdit->toPlainText();
saveFile.close();
}
else {
}
}
}
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}