QT中獲得開啟檔案的名字
阿新 • • 發佈:2019-02-09
void TxtEditMainWindow::openFileSlot() { QString fileName = QFileDialog::getOpenFileName(this, "open file", QDir::currentPath()); /*** 如果是空檔案 */ if(fileName.isEmpty()) { QMessageBox::information(this,"Warning Message!","Please select a file"); return; } /*** 新建一個檔案 */ QFile *file = new QFile; file->setFileName(fileName); /*** 設定該Windows的視窗的名字和檔案的名字一樣 */ <span style="color:#ff0000;">/*** 獲取這個檔案的所有資訊 */ QFileInfo fileInfo(*file); qDebug() << fileInfo.filePath(); /*** fileInfo.fileName()是這個檔案的名字 */ this->setWindowTitle(fileInfo.fileName());</span> /*** 設定許可權 **/ bool ok = file->open(QIODevice::ReadWrite); /*** 如果開啟成功 **/ if(ok) { QTextStream in(file); ui->textEdit->setFont(fontNow); ui->textEdit->setTextColor(colorNow); ui->textEdit->setText(in.readAll()); /*** 關閉檔案,刪除file */ file->close(); delete file; } else { QMessageBox::information(this,"Error Message","Open file error" + file->errorString()); return; } }
用QT做文字編輯器,當我們開啟一個檔案,在獲得檔案內容的同時,也想讓文字編輯器的名字顯示為檔案的名字,下面是我處理的方法:
先了解一下#include <QFileInfo>類,這是它常用的一些成員函式
QStringfilePath()const; //檔案的路徑 E:/CODE/QTStudy/a.cpp
QStringfileName()const; //檔案的名字 a.cpp
QStringabsolutePath()const;//檔案的絕對路徑,E:/CODE/QTStudy