BlinCTJuly 22, 2019, 4:08 a.m.
Если приложение бежит в и другом потоке нежели поток QML
Всем привет.
Столкнулся с такой проблемой при переходи в приложении с quick1 на quick2
QQmlEngine: Illegal attempt to connect to TestApp(0x5572a66ddbe0) that is in a different thread than the QML engine QQmlEngine(0x5572a672b900.
Может кто знает правится ли это или что то в приложении нехватает еще?
Спасибо.
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!
l
- laei
- April 23, 2024, 7:19 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:10points,
- Rating points-10
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 12:50 p.m.
EVADec. 25, 2023, 9:30 p.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
DA
Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
Dr Gangil AcademicsApril 20, 2024, 5:45 p.m.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел ДорофеевApril 14, 2024, 12:35 p.m.
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
Привет.
Трудно точно сказать, что именно вызывает ошибку. Там нет объектов, которые пересылаются по потокам? Например QTimer?
Пока ответить не могу. Знаю что приложуха в другом потоке бежит.
Нашел пока в исходниках Qt от куда прилетает ошибка
Qt на 131 строке. Другой инфы пока не накопал.
Раньше использовался QtDeclarative и вот такое ощущение что это как то этого касается.
Еще нашел гитовый мердж для этого класса QtDeclarative
В общем есть клиент который бежит не в том потоке что сама аппликация. В это проблема. Теперь понять как это исправить(
Нету никаких мыслей на сей счет?)
Были бы мысли, ответил бы. Чистый созданный проект без этих ошибок? Если нет, то нужно искать, где с потоками баловство происходит.
Ну проблема именно в переходе с 1 на 2 quick. Они воткнули проверку. Это то что я писал про 131 строку в коде.
То есть проблема не в том, что у вас там код написан как попало, а то, что Qt, по-вашему, неправильно что-то написали?
Ну кинь им реквест на багтрекер.
Вот только что нашел в инете, у человека такая же ошибка. Вроде бы таже самая проблема
https://stackoverflow.com/questions/37633709/how-to-create-qtquick-window-outside-the-main-thread
Скорее всего в коде не правильно потоки используются.Вот на форуме пишут кое что интересное
Да вот нашел тоже инфу. Эти ... хорошие люди из за того что решили отказатся от обычных шариков они во втором quick2 впилили проверку что я выше и указал, типа теперь в разных потоках нельзя так делать как было раньше. В общем похерили. В 5.7 еще работало а потом они порешали и вот ...
Полагаю, что с их стороны это было оправданным решением, учитывая, что QML поддерживает многопоточность. Видимо из-за этого придётся искать или иной способ использования shared_ptr или отказываться от них. Ничего не поделаешь...
Советую использовать нечто такое или такое