QT記事本的讀寫函數

頭文件:函數

#include <QMessageBox>ui

#include <QtDebug>
#include <QFile>
#include <QFileDialog>
#include <QDir>
#include <QTextStream>
 
私有數據成員:
QString fileString;//數據成員,保存要打開的文件名
 
構造函數添加的信號與槽連接:
QObject::connect(ui->openAction,SIGNAL(triggered()),this,SLOT(openFileSlot()));//記事本的打開(O)信號與槽進行鏈接,openAction是打開(O)的對象名
QObject::connect(ui->saveAction,SIGNAL(triggered()),this,SLOT(saveFileSlot()));//記事本的保存(S)信號與槽進行鏈接,saveAction是保存(S)的對象名
 
函數:

oid MainWindow::openFileSlot()this

{
fileName = QFileDialog::getOpenFileName(this,"Open File",QDir::currentPath());//獲取要打開文件的絕對路徑
 
if (fileName.isEmpty())//判斷是否爲空
{
QMessageBox::information(this,"ERROR MESSAGE","Please selete a file");
return;
}
QFile *file = new QFile;
file->setFileName(fileName);
bool ok = file->open(QIODevice::ReadOnly);//以只讀方式打開文件
if (ok)
{
QTextStream in(file);
ui->textEdit->setText(in.readAll());//讀取文件全部內容
file->close();
delete file;
}
else
{
QMessageBox::warning(this,"ERROR MESSAGE","File Open FiLE"+file->errorString());
return;
}
}
 
void MainWindow::saveFileSlot()
{
if (fileName.isEmpty())
{
QMessageBox::warning(this,"ERROR MESSAGE","Please selete a file");
return;
}
else
{
QFile *file = new QFile;
file->setFileName(fileName);
bool ok = file->open(QIODevice::WriteOnly);
 
if (ok)
{
QTextStream out(file);
out << ui->textEdit->toPlainText();
file->close();
delete file;
}
else
{
QMessageBox::information(this,"ERROR MESSAGE","save file error");
return;
}
}
}
相關文章
相關標籤/搜索