Я начал играть с SDK, чтобы начать разрабатывать приложение.
Приложение будет чем-то, что позволит мне фильтровать записи в файле CSV критерием поиска. Но диалоговое окно файла существует так, чтобы файл мог быть расположен и как я использую его?
В основном у Вас есть две опции, которые будут зависеть от версии Ubuntu, которую Вы используете (или запланируйте использовать).
Прежде 14.04 (Спокойная версия 5.0.x)
единственный способ открыть диалоговое окно файла состоит в том, чтобы использовать некоторый код C++. Необходимо будет представить метод, который является общедоступным слотом для доступа к нему из приложения QML.
Посещение следующие ссылки, чтобы заставить шаблон запускаться с:
Тогда, Ваш общедоступный слот может назвать следующий QFileDialog
функция: getOpenFileName ()
QString GuiEngine::GetCSVFileName(void)
{
QString prompt = "Open File";
return QFileDialog::getOpenFileName(NULL, \
prompt, \
"report.csv", \
tr("CSV files (*.csv)"), \
NULL, \
QFileDialog::DontUseNativeDialog);
}
Примечание : это будет только работать с QFileDialog:: опция DontUseNativeDialog как собственный рендеринг создает фантомное окно в дополнение к диалоговому окну Файла (См. ошибка № 1214914 )
Это создаст окно как то ниже:
14.04 (Спокойная версия 5.2.1)
В этом случае, реализовывая FileDialog намного более легко сделать, поскольку нет никакой потребности записать код C++.
Вот минимальный пример для открытия диалогового окна файла и выхода после того, как пользователь выберет файл:
import QtQuick 2.1
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
}