Сборщик мусора и Connections в qml
подключил в qml c++ класс
main.cpp
int main(int argc, char *argv[]) { QList<QPair<QString,qreal>> ArrowList; QList<QString> IndicatorList; fillDataToPanel(ArrowList,IndicatorList); PanelModel panel; panel.setFillData(ArrowList,IndicatorList); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; QQmlContext *context = engine.rootContext(); engine.setObjectOwnership(&panel,engine.JavaScriptOwnership); context->setContextProperty("panel",&panel); qmlRegisterType<Arrow>(); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); }
часть qml
main.qml
import QtQuick 2.3 import QtQuick.Window 2.2 Window { visible: true width: 1280 height: 720 opacity: 1 color: "black" flags: Qt.FramelessWindowHint Connections{ target: panel onContainerChanged:{ image2.rotation=arg.getArrowMapDisplayValue("MainArrow").value } } MouseArea{ anchors.rightMargin: 468 anchors.bottomMargin: 163 anchors.leftMargin: 476 anchors.topMargin: 243 anchors.fill: parent onClicked:{ panel.moveMainArrow() gc() } } Item { id: background x: -692 y: -217 width: 1280 height: 720 opacity: 1 anchors.centerIn: parent Image { id: image1 x: 0 y: 0 width: parent.width height: parent.height opacity: 1 fillMode: Image.Stretch source: "../kr.png" } Image { id: image2 x: 320 y: 80 width: 639 height: 639 source: "../row.png" }после первого клика запускается таймер который соединяет сигнал с++ со слотом qml. После второго клика сборщик мусора удаляет элемент Connections и появляется ошибка
TypeError: Cannot read property 'value' of null.
Версия qt 5.5
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, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 1: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, 11:51 a.m.
Evgenii LegotckoiOct. 31, 2024, 2: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, 7:51 a.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, 3:11 p.m.
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey1Nov. 15, 2024, 6:04 a.m.
NSProjectJune 4, 2022, 3:49 a.m.
IscanderCheOct. 31, 2024, 3:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Думаю, что по какой-то причине сборщик мусора считает, что panel нигде не используется, хотя видимых причин в коде нет, кроме разве что того, что вы использовали установку владения объектом panel на QML часть
можешь попробовать в деструкторе модели вызвать
и в дебагере посмотреть stacktrace