我有一个小型应用程序,它需要用户在运行时提供的特定文件的路径。我需要的只是路径。我把它想象成某种形式的文件浏览器,用户可以在其中遍历目录树。
有没有办法在 Qt 中做到这一点,或者我必须调用本机操作系统实现(如果可能的话)。如果不在 Qt 中,我如何利用本地操作系统实现?
我有一个小型应用程序,它需要用户在运行时提供的特定文件的路径。我需要的只是路径。我把它想象成某种形式的文件浏览器,用户可以在其中遍历目录树。
有没有办法在 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
}