QFileDialog未提供所选文件
QFileDialog does not give selected file
本文关键字:文件 QFileDialog 更新时间:2023-10-16
我在Qt 5.2中使用QFileDialog时遇到了一个小问题。当我打开对话框时,对话框将显示,但不会将任何选定的文件发回。在下面的代码示例中,"selectedFiles.at(0)"没有给出任何内容。用户选择了正确的文件。这是一个与我的代码或Qt 5.2中的错误有关的问题吗??请帮忙。
QFileDialog dialog;
QStringList selectedFiles;
dialog.setFileMode(QFileDialog::AnyFile);
dialog.setNameFilter("Images (*.png *.jpg)");
if (dialog.exec())
{
selectedFiles = dialog.selectedFiles();
QImage image(selectedFiles.at(0));
if(image.height() != 320 && image.width() != 240)
{
QMessageBox messageBox;
messageBox.setText("File is not an image or the dimension is not 320x240");
messageBox.exec();
}
else
{
ui->browseLine->setText(selectedFiles.at(0));
}
}
我没有发现您的代码中有任何错误,我对它进行了测试,它运行得很好。你所说的"selectedFiles.at(0)"到底是什么意思?selectedFiles是空的(=不包含字符串)还是返回空字符串(=包含空字符串)?
无论如何;以下是我通常的做法,也许可以试试代码,看看它是否有效:
QStringList ls = QFileDialog::getOpenFileNames(this,
"Choose one or more files",
"",
"Audio-Files(*.wav)");
for(int i = 0; i < ls.size(); i++) {
print(ls[i]);
}
我在Mac Os X.9上的Qt 5.1.1或Qt5.2RC1也有完全相同的问题…本机标准打开文件保持在顶部(并非总是!,但80%的时间),隐藏应用程序并再次显示会使此对话框消失。。。有时也不会显示筛选的任何文件。
使用非本机Open Dialog有效!
相关文章:
- .cpp和.h文件中的模板专用化声明
- 限制用户可以在 QFileDialog 中选择的文件数量
- 如何判断 QFileDialog 是否已关闭而不选择文件
- Qfiledialog:文件夹名称在Windows下方出现两次
- 无法使用qfiledialog(QT 5.7)打开文件
- QFileDialog:选择目录和文件
- QFileDialog:使用 getOpenFileName 允许不存在的文件
- QFileDialog未提供所选文件
- 接受单个文件或单个目录的 QFileDialog
- 需要使用 QFileDialog 保存一个新文件
- 有没有一种方法可以在Linux上使用QFileDialog自动为文件添加扩展名
- 如何使用QFileDialog打开虚拟文件夹
- 无法从OSX dylib显示OSX Finder选择文件对话框(QFileDialog::getOpenFileName
- 在Qt中如何在QLineEdit中添加一个QFileDialog文件
- QFileDialog在关闭/析构时冻结(选择文件或取消)
- Qt -如何复制文件与QFile::复制使用QFileDialog
- QFileDialog:如何通过触摸屏输入选择多个文件
- 使用QFileDialog自动保存文件
- QFileDialog:选择文件后添加后缀
- QFileDialog - 保存具有指定文件名的文件