Model не определяется в QQuickWidget
проектный файл
QT += core gui quickwidgets widgets CONFIG += c++11 # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 HEADERS += \ widget.h SOURCES += \ main.cpp \ widget.cpp RESOURCES += qml.qrc # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH = # Additional import path used to resolve QML modules just for Qt Quick Designer QML_DESIGNER_IMPORT_PATH = # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
хедер виджета
#ifndef WIDGET_H #define WIDGET_H #include <QObject> #include <QWidget> #include <QGridLayout> #include <QStringListModel> #include <QQuickWidget> #include <QQmlContext> #include <QQuickItem> class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: QGridLayout *gridLayout; QQuickWidget *quickWidget; }; #endif // WIDGET_H
реализация виджета
#include "widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) , gridLayout(new QGridLayout(this)) , quickWidget (new QQuickWidget(this)) { quickWidget->setSource(QUrl("qrc:/main.qml")); quickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView); gridLayout->addWidget(quickWidget, 1, 0); // Добавление модели в qml QQmlContext *rootQMLcontext = quickWidget->rootContext(); QQuickItem *rootObj = quickWidget->rootObject(); QObject *objListView = rootObj->findChild<QObject *>("ListView"); if (objListView) { QStringList lst; for (int i = 0; i < 100; ++i) { lst << "Item" + QString::number(i); } QStringListModel *pmodel = new QStringListModel(quickWidget); pmodel->setStringList(lst); rootQMLcontext->setContextProperty("myModel", pmodel); } this->setLayout(gridLayout); } Widget::~Widget() { }
main.qml
import QtQuick 2.5 import QtQuick.Controls 2.1 import QtQuick.Layouts 1.12 Item { anchors.fill: parent GridLayout { id: grid x: 20 y: 20 columnSpacing: 10 rows: 10 columns: 1 Button{ id: button text: "hello!" Layout.row: 0 Layout.column: 0 } ListView { objectName: "ListView" model: myModel delegate: Text {text: model.display} Layout.row: 1 Layout.column: 0 Layout.rowSpan: 8 } } }
main.cpp
#include <QApplication> #include <QMainWindow> #include "widget.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWindow m; auto qmlMainWidget = new Widget(&m); m.setCentralWidget(qmlMainWidget); m.show(); return app.exec(); }
ошибка
QML debugging is enabled. Only use this in a safe environment. qrc:/main.qml:14: ReferenceError: myModel is not defined
Почему есть ошибка?
ListView поверх кнопки, не смотря на GridLayout
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 11, 2024, 10:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 8:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 8:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 7:51 p.m.
Evgenii LegotckoiOct. 31, 2024, 9:37 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 2:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Evgenii LegotckoiJune 24, 2024, 10:11 p.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 2:04 p.m.
NSProjectJune 4, 2022, 10:49 a.m.
IscanderCheOct. 31, 2024, 10:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
c таким оформлением даже не хочу начинать смотреть код
на нет и суда нет.