Есть ли собственный «файловый менеджер»? в Qt, что я могу использовать, чтобы пользователь выбрал путь к определенному файлу?

У меня есть небольшое приложение, которое требует путь к конкретному файлу, который будет предоставлен во время выполнения пользователем. Все, что мне нужно, это путь. Я представляю, что это какая-то форма файловый менеджер в котором пользователь может пройти через дерево каталогов.

Есть ли способ сделать это в Qt, или я должен вызвать собственную реализацию ОС (если это возможно). Если нет в Qt, как я могу использовать реализацию локальной ОС?

2

Решение

Это то, что 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
}
5

Другие решения


По вопросам рекламы [email protected]