在我的应用程序中,我需要加载许多图像。我真的会使用一个选项来选择最后打开的文件,所以我想知道最后选择的文件。文档说:
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
"/home",
tr("Images (*.png *.xpm *.jpg)"));
文件对话框的工作目录将设置为dir。如果dir包含文件名,则将选择该文件。
所以我应该保存最后打开的文件路径,然后插入它而不是“/ home”。但这不起作用。在打开文件对话框中,文件名被剥离为最后几个字符,并且未选择任何文件。 怎么了?这是一个错误吗?
我目前的代码:
QString fileName = QFileDialog::getOpenFileName(this, "Select file",
lastUsedFile, "Image Files (*.png *.jpg *.jpg *.bmp);; JPEG(*.jpg *.jpeg);; PNG(*.png);; BMP(*.bmp)");
if (!fileName.isEmpty())
lastUsedFile = fileName;
我想要实现的是选择并滚动到文件。
答案 0 :(得分:2)
它是QFileDialog :: getOpenFileName()的第三个参数。然后你必须将它存储在QSettings中。
例如:
QString fileName = QFileDialog::getOpenFileName(
this, tr("Open file"),
Settings.value(DEFAULT_DIR).toString(),
tr("Images (*.png *.xpm *.jpg)");
if (!fileName.isEmpty()) {
QDir curDir;
Settings.setValue(DEFAULT_DIR, curDir.absoluteFilePath(fileName));
}