我在Qt C ++中创建一个文本编辑器,当我打开一个txt文件时,我想将Title更改为打开的文件名,我知道std::sort
。我只能显示路径。这是打开新文档的函数的一部分。
setWindowTitle("title go here")
答案 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()
的文档。