Qt中獲取打開文件的名字
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 >/*** 獲取這個文件的所有信息 */
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
Qt入門學習——Qt 5 幫助文檔的使用 http://www.linuxidc.com/Linux/2015-09/123102.htm
Ubuntu 環境下Gtk與QT編譯環境安裝與配置 http://www.linuxidc.com/Linux/2013-08/88539.htm
Linux系統下QT環境搭建 http://www.linuxidc.com/Linux/2013-07/87576.htm
Ubuntu下QT控制台程序無法運行的解決方案以及XTerm的配置方法 http://www.linuxidc.com/Linux/2013-06/86244.htm
Ubuntu 10.04下QT4.7.4移植詳解 http://www.linuxidc.com/Linux/2013-01/77930.htm
Ubuntu 14.04下安裝部署Qt5開發環境 http://www.linuxidc.com/Linux/2014-05/101774.htm
Qt 的詳細介紹:請點這裡
Qt 的下載地址:請點這裡