在Qt中是否有一个本机"文件浏览器",我可以用它来让用户选择特定文件的路径?

she*_*lbc 2 c c++ qt qtgui qfiledialog

我有一个小应用程序,需要通过特定文件的路径,该文件将由用户在运行时提供.我所需要的只是路径.我把它想象成某种形式的文件浏览器,用户可以在其中遍历目录树.

有没有办法在Qt中执行此操作,或者我必须调用本机OS实现(如果可行).如果不在Qt中,我该如何使用本地操作系统实现?

lpa*_*app 5

这就是QFileDialog试图实现的,所以我建议使用它,如果它是基于小部件的应用程序.您需要编写的所有内容都是这样的:

fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
Run Code Online (Sandbox Code Playgroud)

这将打开一个用户可用于导航的选择对话框.

如果您碰巧使用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
}
Run Code Online (Sandbox Code Playgroud)