Why doesn't the QQuickWidget program display when using QML Model?
-
QQuickWidget to replace the QQmlApplicationEngine in the example
https://github.com/ColinDuquesnoy/QtQuickControls2.TreeViewQQucikWidget* pWidget = new QQucikWidget(); pWidget->setResizeMode(QuickWidget:SizeRootObjectToView); QStandardItemModel standardItemModel; QStandardItem root("Root"); root.setIcon(qtApp.style()->standardIcon(QStyle::SP_DesktopIcon)); QStandardItem child1("Child 1"); QStandardItem child2("Child 2"); QStandardItem child3("Child 3"); QStandardItem child1OfChild1("Child 1 of Child 1"); QStandardItem child2OfChild1("Child 2 of Child 1"); QStandardItem child1OfChild2("Child 1 of Child 2"); child1.appendRow(&child1OfChild1); child1.appendRow(&child2OfChild1); child2.appendRow(&child1OfChild2); root.appendRow(&child1); root.appendRow(&child2); root.appendRow(&child3); standardItemModel.appendRow(&root); TreeViewModel standardItemTreeViewModel; standardItemTreeViewModel.setSourceModel(&standardItemModel); pWidget ->rootContext()->setContextProperty("standardItemModel", &standardItemTreeViewModel); pWidget ->load(QUrl("qrc:/main.qml")); pWidget ->show() -
QQuickWidget to replace the QQmlApplicationEngine in the example
https://github.com/ColinDuquesnoy/QtQuickControls2.TreeViewQQucikWidget* pWidget = new QQucikWidget(); pWidget->setResizeMode(QuickWidget:SizeRootObjectToView); QStandardItemModel standardItemModel; QStandardItem root("Root"); root.setIcon(qtApp.style()->standardIcon(QStyle::SP_DesktopIcon)); QStandardItem child1("Child 1"); QStandardItem child2("Child 2"); QStandardItem child3("Child 3"); QStandardItem child1OfChild1("Child 1 of Child 1"); QStandardItem child2OfChild1("Child 2 of Child 1"); QStandardItem child1OfChild2("Child 1 of Child 2"); child1.appendRow(&child1OfChild1); child1.appendRow(&child2OfChild1); child2.appendRow(&child1OfChild2); root.appendRow(&child1); root.appendRow(&child2); root.appendRow(&child3); standardItemModel.appendRow(&root); TreeViewModel standardItemTreeViewModel; standardItemTreeViewModel.setSourceModel(&standardItemModel); pWidget ->rootContext()->setContextProperty("standardItemModel", &standardItemTreeViewModel); pWidget ->load(QUrl("qrc:/main.qml")); pWidget ->show() -
Hi,
Depending on where that code lives, your model and all its items will be destroyed before even being used.
-
Hi,
Depending on where that code lives, your model and all its items will be destroyed before even being used.
@SGaist
What should I do?Create in heap space?TreeViewModel* pStandardItemTreeViewModel = new TreeViewModel(); pStandardItemTreeViewModel ->setSourceModel(&standardItemModel); pWidget ->rootContext()->setContextProperty("standardItemModel", pStandardItemTreeViewModel ); -
You do not provide enough code to get a proper answer. There's not enough context.