Я только начал развертывать свое первое приложение для Ubuntu, используя QtCreator 3.1.1, основанный на Qt5.2.1 в Ubuntu 14.10. Мне нужно открыть несколько видеофайлов, поэтому я собираюсь поставить кнопку для выбора файла, очевидно. Также я знаю, что могу использовать эту функцию для открытия файлов:
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
}
Вот мой вопрос: как я могу связать их друг с другом? Я хочу, чтобы FielDialog открывался, когда я нажимал на кнопку. И это единственный способ сделать это? Я имею в виду, я не мог сделать тот же процесс в коде C ++?
Конечно, вы можете сделать в C ++.
Есть класс Qt с именем QFileDialog: http://qt-project.org/doc/qt-5/QFileDialog.html
Вы можете просто подключить сигнал нажатия кнопки к слоту, который создает QFileDialog, вы можете использовать некоторые статические функции, как в примере:
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
а вот как использовать QPushButton: http://qt-project.org/wiki/How_to_Use_QPushButton