我有一个小应用程序,它需要用户在运行时提供到特定文件的路径。我所需要的只是路径。我把它想象成某种形式的文件资源管理器,用户可以在其中遍历目录树。
在Qt中是否有办法做到这一点,或者我必须调用本机操作系统实现(如果可能的话)。如果不是在Qt,我怎么能利用本地操作系统的实现?
这就是QFileDialog试图实现的,所以我建议使用它,如果它是一个基于小部件的应用程序。你只需要写这样的东西:
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
这将弹出一个对话框供用户选择,用户可以使用该对话框进行导航。
如果您碰巧使用QML,您可以尝试使用FileDialog组件。然后,您可以这样写:
import QtQuick 2.2
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
title: "Please choose a file"
onAccepted: {
console.log("You chose: " + fileDialog.fileUrls)
Qt.quit()
}
onRejected: {
console.log("Canceled")
Qt.quit()
}
Component.onCompleted: visible = true
}