2

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

有没有办法在 Qt 中做到这一点,或者我必须调用本机操作系统实现(如果可能的话)。如果不在 Qt 中,我如何利用本地操作系统实现?

4

1 回答 1

5

这就是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
}
于 2014-05-23T02:43:37.767 回答