【发布时间】:2017-04-21 13:27:27
【问题描述】:
我有一个程序可以多次打开同一个文件。
我想在打开任何文件之前检查该文件当前是否打开,因为我不想多次打开同一个文件。
是否有一个内置函数可以检查文件当前是否打开或任何其他方式可以做到这一点?
守则:
QString openFilePath = QFileDialog::getOpenFileName(this->mainWindow, "Open File");
if(openFilePath == ""){
return;
}
QFile openFile(openFilePath);
if(!openFile.open(QFile::ReadWrite)){
QMessageBox::critical(this->mainWindow, "Can't Open file", "Can't access to the file.");
}
QTextStream fileContent(&openFile);
QFileInfo fileInfo(openFile);
this->createEmptyFile(fileInfo.fileName());
this->txtEditor->setText(fileContent.readAll());
【问题讨论】:
-
您需要更具体一些,您使用的 Qt 组件、打开文件的方式等。
-
@Slava:我已经更新了我的问题,你现在可以查看我的代码了。
-
只需维护一个打开文件的列表,在关闭信号时将其从那里删除,并检查它是否已打开。