Qt中获取打开文件的名字

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 帮助文档的使用 

Ubuntu 环境下Gtk与QT编译环境安装与配置

Linux系统下QT环境搭建

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu 10.04下QT4.7.4移植详解

Ubuntu 14.04下安装部署Qt5开发环境

Qt 的详细介绍请点这里
Qt 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/99fcf220a64216540c57e4bedb84250c.html