QFiledialog返回错误的目录
我正在使用的片段看起来像这样
QDir lastDir;
QFileDialog dial(this);
dial.getOpenFileName(this,
tr("Open File"),
QString("/home"),
tr("Raw Images (*.nef *.NEF *.dng *.DNG)"));
lastDir = dial.directory();
qDebug() << lastDir;
无论我最终进入哪个目录,输出都是完全错误的。但是,错误的目录始终是相同的。
AFAICT我在这里做错了什么。这里发生了什么?干杯
没有找到相关结果
已邀请:
1 个回复
陈獭
是一个静态函数,它立即打开一个“文件选择器”对话框,并在用户完成对话后返回“用户选择的现有文件”。你这样使用它(注意使用
和类名
而不是对象名称):
是非静态的,并返回“当前正在对话框中显示的目录”。在对话框仍处于打开状态时调用此函数,它适用于静态调用未涵盖的用例。 这里发生的是你已经实例化了一个对象,在它上面称为静态函数(它不会影响它的状态),然后调用
,它只反映对象的原始状态,这可能是工作目录。相反,您需要将
调用的返回值存储在变量中,如上所示。 如果您想要让用户只选择一个目录,您可以考虑使用
。或者,如果要从文件名中提取目录,则
类有一些对此有用的函数。