头文件
#include <QFileDialog>
#include <QFile>
#include <QTextStream>
#include <QDataStream>
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
//创建对象的形式对文件路径引入
//AcceptMode{AcceptOpen , AcceptSave}
void MainWindow::on_pushButton_clicked()
{
//打开一个对话框然后选择要操作的文件将选取的文件的路径放到lineEdit
QFileDialog dlg;
//dlg.setAcceptMode(QFileDialog::AcceptSave); //文件保存为
//dlg.setDirectory("C:");//打开C盘
dlg.setNameFilter(QString("src file(*.cpp) ;; Header(*.h);;"));//文件锅炉函数
// 选取.cpp/.h文件过滤只
//显示该类文件
int ret = dlg.exec();
if(ret == QDialog::Accepted){
ui->lineEdit->setText(dlg.selectedFiles().at(0));//打开多个文件的第一个
}
}
//利用静态函数的方法,访问文件返回路径
//AcceptMode{AcceptOpen , AcceptSave}
void MainWindow::on_pushButton_clicked()
{
// //打开一个对话框然后选择要操作的文件将选取的文件的路径放到lineEdit
// QFileDialog dlg;
// //dlg.setAcceptMode(QFileDialog::AcceptSave); //文件保存为
// //dlg.setDirectory("C:");//打开C盘
// dlg.setNameFilter(QString("src file(*.cpp) ;; Header(*.h);;"));//文件锅炉函数
// // 选取.cpp/.h文件过滤只显示该类文件
// int ret = dlg.exec();
// if(ret == QDialog::Accepted){
// ui->lineEdit->setText(dlg.selectedFiles().at(0));//打开多个文件的第一个
// }
//利用静态函数的方法,访问文件返回路径
QString path = QFileDialog::getOpenFileName();
ui->lineEdit->setText(path);
QFile file(path); //创建一个对象
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){ //打开文件如果不能打开则返回
return;
}
ui->textEdit->setText(file.readAll()); //将打开的文件的所有内容读取到textEdit中
file.close();
}
打开文件
//打开文件
void MainWindow::on_actionOpen_triggered()
{
QString fileName = QFileDialog::getOpenFileName(this,tr("打开"),""); //创建一个窗口
if(fileName != NULL){
QSettings reader(fileName,QSettings::IniFormat);
reader.beginGroup(fileName.split("/").last().split(".").first());
int height = reader.value("WindowHeight").toInt();
int width = reader.value("WindowWidth").toInt();
newFile(fileName.split("/").last().split(".").first(),width,height);
Connection *newWidget = dynamic_cast<Connection *>(ui->mdiArea->currentSubWindow()->widget());
newWidget->set(reader);
reader.endGroup();
}
}
另存为
//保存文件
void MainWindow::on_actionSave_triggered()
{
QString fileName = QFileDialog::getSaveFileName(this,tr("保存"),"");
if(fileName != NULL){
Connection *widget =dynamic_cast<Connection*>(ui->mdiArea->currentSubWindow()->widget());
QSettings writer(fileName,QSettings::IniFormat);
writer.beginGroup(fileName.split("/").last().split(".").first());
writer.setValue("FilePath",fileName);
writer.setValue("WindowWidth",QString::number(ui->mdiArea->currentSubWindow()->width()));
writer.setValue("WindowHeight",QString::number(ui->mdiArea->currentSubWindow()->height()));
widget->write(writer);
writer.endGroup();
}
}
textStream/dataStream
//textstream
void MainWindow::on_pushButton_2_clicked()
{
QFile file("text.txt");
file.open(QIODevice::WriteOnly);
QTextStream out(&file);
int var = 0x31323334;
out << var ;
file.close();
}
//datastream
void MainWindow::on_pushButton_3_clicked()
{
QFile file("data.txt");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
int var = 0x31323334;
out << var ;
file.close();
}