繁体   English   中英

在Qt中更改主窗口标题

[英]Change main window title in Qt

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

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);
     }

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

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

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()的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM