В общем, нашёл решение.
Проблема была в том, что поток и рабочий класс создавался в классе, который сам убивается при закрытии последнего окна проги, а так как всё было подключено через сигналы-слоты, они переставали вызываться. Стоило только оставить жить основной класс после закрытия окна, то всё пришло в норму, ну только добавил, что бы основной класс убивался, когда поток закончил работы.
Попробуйте jpeg поставить.
Если поставится, значит почему-то Qt шная либа по поддержке png не скомпилилась, но это на грани фантастики.
Попробуйте так же путь абсолютный задать.
Решилось за 3 часа зря потерянного времени.
Дело было в виртуальном классе, qvariant_cast видимо не знал как это обработать, хотя canConvert выдавал, что может.
Подумал, а что я голову ломаю с хранением номеров строк... они ведь всегда должны быть от 0 до N без пропусков.
А использую ка я для этого итератор... ведь можно к итератору прибавить значение и это будет аналогично переходу к нужной строке. Только отсюда вытекает единственная проблема - если в модели потребуется сделать перестановку строк, нужно как то изменить то, куда указывает итератор (и ключ и значение) .
да и find у QHash возвращает итератор.
Да в рот мне ноги! Честно, уже который раз задавая вопрос, нахожу на него свой ответ.
Ну, остальным то же полезно будет: в Qt это называется визарды, доки: doc.qt.io/qtcreator/creator-project-wizards-xml.html
Qt офигенен!
По моему в таком случае на все вкладки один webview и он при переходе на другую вкладку перезагружает url
возможно нужно иметь несколько webview, но это затратно в плане производительности.
Блин, что-то я туплю.
Всё проще, базовый класс (о нём всё известно) исходного класс наследник QObject, поэтому есть метод setParent().
Поэтому когда получаю указатель на исходный класс создаю свой класс, у которого родителем ставлю исходный класс (что бы не заморачиваться потом с удалением), кастую исходный класс к QObjcet и setParent(мой класс).
Вместо таймеров используйте события.
В Qml практически всё биндятся... не знаю как по-русски, загуглите qml binding
Если проверки необходимо сложные, то лучше перейти от реальных объектов к виртуальным
т.е. создать какую либо карту например
1111111
1002001
1000001
1111111
Где 2 - это Ваш объект.
1- стена
0 - пустое место
Хоть двумерную, хоть трёхмерную.
а потом просто событие генерируйте и взаимодействуйте с ним.
Падение можно заменить на анимацию.
Но лучше всего не использовать qml компоненты а рисовать это всё самостоятельно.
Иначе 50 объектов и адцкие тормоза.
Товарищи, Вы были правы! Нашёл от него сервисный мануал, вбил ему usb-com, а так же вбил настройки для com порта. Заработал! Нужно было выставлять скорость и биты. Всё пошло! Всем спасибо!