Я только начал разворачивать свое первое приложение для 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