hummingbird
@hummingbird

Как вывести список записей?

Здравствуйте!

Как вывести список записей из БД используя QML?
В гугле ничего толкового нет, все время ошибки...

Начинаем с:
ui = new QDeclarativeView;

Далее нужно получить данные из БД (например, новости):
QSqlQueryModel *sqlModel = new QSqlQueryModel(this);
sqlModel->setQuery("SELECT * FROM news");


Далее нужно передать модель в qml файл:
QDeclarativeContext *context = ui->rootContext();
context->setContextProperty("sqlModel", sqlModel);


А в нем уже в ListView выводить списки:
ListView {
    anchors.fill: parent
    model: sqlModel
    delegate: Text {
        text: title
    }
}


Заканчиваем:
ui->setSource(QUrl("qrc:/mainpage.qml"));
setCentralWidget(ui);
ui->setResizeMode(QDeclarativeView::SizeRootObjectToView);


В итоге в qml файле во ListView ничего не выводит. На поле "title" ругается, мол, нет такого:
qrc:/mainpage.qml:74: ReferenceError: Can't find variable: title


74 строка: text: title

Помогите, пожалуйста, уже все перегуглил...
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 1
Zifix
@Zifix Куратор тега Qt
Barbatum
How to use a QSqlQueryModel in QML
5 шаг устарел, сегодня вместо этих строк в main.cpp пишем просто:
ArtistsSqlModel *artistsSqlModel = new ArtistsSqlModel( qApp);

QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("artistsModel", artistsSqlModel);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы