QFile
QTextStream
QMessageBox
QFileDialog
应用示例
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QFile> #include <QTextStream> #include <QMessageBox> #include <QFileDialog> MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this); }MainWindow::~MainWindow() {delete ui; }mainwindow.cpp void MainWindow::on_pushButton_2_clicked() {//QFile file("./mytest1.txt");QFile file("/mnt/hgfs/temp/QFileDemo/mytext.txt");if(!file.open(QFile::WriteOnly | QFile::Text)){QMessageBox::warning(this,"title","file not open");}QTextStream out(&file);QString text= ui->plainTextEdit->toPlainText();out<<text;file.flush();file.close(); }void MainWindow::on_pushButton_clicked() { QString filter="All File(*.*);;Text File(*.txt);;xml File(*.xml)";QString file_name=QFileDialog::getOpenFileName(this,"open a file","/",filter);QFile file(file_name);//QFile file("/mnt/hgfs/temp/QFileDemo/mytext.txt");if(!file.open(QFile::ReadOnly | QFile::Text)){QMessageBox::warning(this,"title","file not open");}QTextStream in(&file);QString text=in.readAll();ui->plainTextEdit->setPlainText(text);file.close(); }
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_pushButton_2_clicked();void on_pushButton_clicked();private:Ui::MainWindow *ui; }; #endif // MAINWINDOW_H