gpt4 book ai didi

c++ - 如何指定可以打开的文件类型

转载 作者:行者123 更新时间:2023-11-28 01:16:05 25 4
gpt4 key购买 nike

我目前正在开始开发 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 扩展类型?提前致谢。

最佳答案

getOpenFileName 可以接受更多参数(一些参数有默认值),参见文档 here .

所以你的代码会是这样的:

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
"", //default path here
tr("Lua files (*.lua)"));

关于c++ - 如何指定可以打开的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58681169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com