歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Qt中獲取打開文件的名字

Qt中獲取打開文件的名字

日期:2017/3/1 9:18:02   编辑:Linux編程

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 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved