【发布时间】:2012-12-09 01:42:53
【问题描述】:
QString FilePath2 = QFileDialog::getOpenFileName(this, tr("Open Directory"), "C:/", tr("Text files (*.txt)"));
QDir a = FilePath2;
qDebug() << a.absolutePath();
代码运行良好。但是 absolutePath() 仍然返回路径 + 文件名,而不仅仅是路径。
C:/Users/Blastcore/Desktop/text.txt 而不仅仅是 C:/Users/Blastcore/Desktop
有什么想法吗?
【问题讨论】:
-
尝试使用
QFileInfo而不是QDir[doc.qt.digia.com/qt/qfileinfo.html#absolutePath] -
是的,这似乎有效。谢谢。
-
与直觉相反,
QDir可以保存文件的路径。如果你需要选择一个目录,而不是一个文件,你应该使用getExistingDirectory()而不是getOpenFileName()。如果您只需要该特定位置的目录,请按照 Kirween 的建议使用QFileInfo。
标签: qt qfiledialog qdir