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/QTStudyUbuntu 环境下Gtk与QT编译环境安装与配置