在Qt中更改主窗口标题

时间:2015-10-22 01:24:21

标签: c++ qt

我在Qt C ++中创建一个文本编辑器,当我打开一个txt文件时,我想将Title更改为打开的文件名,我知道std::sort。我只能显示路径。这是打开新文档的函数的一部分。

setWindowTitle("title go here")

2 个答案:

答案 0 :(得分:2)

QFileInfo fileInfo(file1);
QString filename(fileInfo.fileName());

答案 1 :(得分:2)

我格式化了您的代码,并添加了显示正确文件名所需的代码,包括扩展名和不包括路径。

QString fileName = QFileDialog::getOpenFileName(
            this,
            "TextEditor - Open" ,
            "C:\\",
            " Text File(*.txt);;All files (*.*)");

QFile file1(fileName);
if(!fileName.isEmpty())
{
     currentFile = fileName;

     file1.open(QIODevice::ReadOnly|QIODevice::Text);
     QTextStream in(&file1);
     QString str1 = in.readAll();
     ui->plainTextEdit-> setPlainText(str1);
     file1.close();

     statusBar()-> showMessage(" File successfully loaded! ");
     saveRecent(currentFile);
 }
 // Create the FileInfo 
 QFileInfo file1Info(file1);

 // now get the fileName
 QString file1Name(file1Info.fileName());

 // Set the Title to the fileName
 setWindowTitle(file1Name);

另请参阅QFileInfo.fileName()的文档。