В настоящее время я начинаю разрабатывать настольное приложение QT, чтобы редактировать язык сценариев "Lua". Реализация должна быть довольно простой, открывая файлы расширения Lua, сохраняя и редактируя их. Проблема, с которой я столкнулся, заключается в том, что я хочу иметь возможность открывать / сохранять / редактировать только файлы Lua. Читая документацию по QT, я наткнулся на объяснение того, как вы можете открывать файлы для так называемого редактора «Блокнот». Они предоставили следующий пример кода:
QString fileName = QFileDialog::getOpenFileName(this, "Open the file");
QFile file(fileName);
currentFile = fileName;
if (!file.open(QIODevice::ReadOnly | QFile::Text)) {
QMessageBox::warning(this, "Warning", "Cannot open file: " + file.errorString());
return;
}
setWindowTitle(fileName);
QTextStream in(&file);
QString text = in.readAll();
ui->textEdit->setText(text);
file.close();
Таким образом, здесь они в основном добавляют условие, при котором файл не может быть открыт (это было в этой строке кода if (!file.open(QIODevice::ReadOnly | QFile::Text))
), но они не указываюткак должно выглядеть условие, если я хочу иметь возможность открывать определенные типы файлов (в моем случае, файлы lua). То же самое касается опции «сохранить», которую они отобразили. Поэтому мой вопрос: как мне расширить это условие, чтобы проверить, имеет ли файл заданный тип расширения для Lua? Заранее спасибо.