Отображение контейнера QVariantList в ListView
Столкнулся с проблемой во время написания практики в университете. Пишем банковскую систему, со стороны "плюсов" передаем двумерный QVariantList, вот метод, который его возвращает(данные беруться из БД):
QVariantList Controller::cardsToQML() {
std::vector<Card> cards = client.getCards();
emit Controller::test();
QVariantList cards_to_qml;
int number_of_cards = 0;
foreach (Card card, cards) {
// emit Controller::cardToQML(
// card.getNumber(), card.getHolderName(), card.getType(), card.getValid(), card.getBalance());
QVariantList card_variant;
card_variant.push_back(card.getNumber());
card_variant.push_back(card.getHolderName());
card_variant.push_back(card.getType());
card_variant.push_back(card.getValid());
card_variant.push_back(card.getBalance());
cards_to_qml.push_back(card_variant);
number_of_cards++;
}
cards_to_qml.insert(0, number_of_cards);
return cards_to_qml;
}
Вот часть нашего ListView, где в роли model используется наш контейнер, однако никак не получается использовать информацию, находящуюся в нем:
ListView {
id: lv
height: 240
width: 500
anchors {
top: finance_text.top
left: finance.left
right: finance.right
margins: 40
}
highlightRangeMode: ListView.StrictlyEnforceRange
clip: true
snapMode: ListView.SnapOneItem
orientation: ListView.Horizontal
delegate: card_delegate
model: Controller.cardsToQML()
Вот один из примеров наших попыток изъять информацию:
Text {
id: balance
anchors {
left: balance_text.right
leftMargin: 15
verticalCenter: balance_text.verticalCenter
}
font.pixelSize: 60
// font.bold: true
text: model[1][1] // model.balance
color: "white"
}
Можете ли подсказать, как правильно работать с такими комплексными контейнерами?