BlinCT
BlinCT22 липня 2019 р. 04:08

Если приложение бежит в и другом потоке нежели поток QML

qt, QML C++

Всем привет.
Столкнулся с такой проблемой при переходи в приложении с quick1 на quick2
QQmlEngine: Illegal attempt to connect to TestApp(0x5572a66ddbe0) that is in a different thread than the QML engine QQmlEngine(0x5572a672b900.

Может кто знает правится ли это или что то в приложении нехватает еще?
Спасибо.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

13
Evgenii Legotckoi
  • 22 липня 2019 р. 04:36

Привет.

Трудно точно сказать, что именно вызывает ошибку. Там нет объектов, которые пересылаются по потокам? Например QTimer?

    BlinCT
    • 22 липня 2019 р. 04:42

    Пока ответить не могу. Знаю что приложуха в другом потоке бежит.
    Нашел пока в исходниках Qt от куда прилетает ошибка
    Qt на 131 строке. Другой инфы пока не накопал.

      BlinCT
      • 22 липня 2019 р. 04:50

      Раньше использовался QtDeclarative и вот такое ощущение что это как то этого касается.
      Еще нашел гитовый мердж для этого класса QtDeclarative

        BlinCT
        • 22 липня 2019 р. 05:04
        • (відредаговано)

        В общем есть клиент который бежит не в том потоке что сама аппликация. В это проблема. Теперь понять как это исправить(

          BlinCT
          • 22 липня 2019 р. 07:30

          Нету никаких мыслей на сей счет?)

            Evgenii Legotckoi
            • 22 липня 2019 р. 07:40

            Были бы мысли, ответил бы. Чистый созданный проект без этих ошибок? Если нет, то нужно искать, где с потоками баловство происходит.

              BlinCT
              • 22 липня 2019 р. 07:48

              Ну проблема именно в переходе с 1 на 2 quick. Они воткнули проверку. Это то что я писал про 131 строку в коде.

                Evgenii Legotckoi
                • 22 липня 2019 р. 07:49

                То есть проблема не в том, что у вас там код написан как попало, а то, что Qt, по-вашему, неправильно что-то написали?

                Ну кинь им реквест на багтрекер.

                  BlinCT
                  • 22 липня 2019 р. 08:41

                  Вот только что нашел в инете, у человека такая же ошибка. Вроде бы таже самая проблема
                  https://stackoverflow.com/questions/37633709/how-to-create-qtquick-window-outside-the-main-thread

                    Pavel K.
                    • 22 липня 2019 р. 10:10
                    • (відредаговано)

                    Скорее всего в коде не правильно потоки используются.Вот на форуме пишут кое что интересное

                      BlinCT
                      • 23 липня 2019 р. 04:24

                      Да вот нашел тоже инфу. Эти ... хорошие люди из за того что решили отказатся от обычных шариков они во втором quick2 впилили проверку что я выше и указал, типа теперь в разных потоках нельзя так делать как было раньше. В общем похерили. В 5.7 еще работало а потом они порешали и вот ...

                        Evgenii Legotckoi
                        • 23 липня 2019 р. 04:44

                        Полагаю, что с их стороны это было оправданным решением, учитывая, что QML поддерживает многопоточность. Видимо из-за этого придётся искать или иной способ использования shared_ptr или отказываться от них. Ничего не поделаешь...

                          Pavel K.
                          • 23 липня 2019 р. 07:11

                          Советую использовать нечто такое или такое

                            Коментарі

                            Only authorized users can post comments.
                            Please, Log in or Sign up
                            sf

                            C++ - Тест 004. Указатели, Массивы и Циклы

                            • Результат:90бали,
                            • Рейтинг балів8
                            МВ

                            Qt - Тест 001. Сигналы и слоты

                            • Результат:68бали,
                            • Рейтинг балів-1
                            ЛС

                            C++ - Тест 001. Первая программа и типы данных

                            • Результат:53бали,
                            • Рейтинг балів-4
                            Останні коментарі
                            A
                            ALO1ZE19 жовтня 2024 р. 08:19
                            Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                            ИМ
                            Игорь Максимов05 жовтня 2024 р. 07:51
                            Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                            d
                            dblas505 липня 2024 р. 11:02
                            QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                            k
                            kmssr08 лютого 2024 р. 18:43
                            Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                            АК
                            Анатолий Кононенко05 лютого 2024 р. 01:50
                            Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                            Тепер обговоріть на форумі
                            J
                            JacobFib17 жовтня 2024 р. 03:27
                            добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
                            ИМ
                            Игорь Максимов03 жовтня 2024 р. 04:05
                            Реализация навигации по разделам Спасибо Евгений!
                            JW
                            Jhon Wick01 жовтня 2024 р. 15:52
                            Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
                            КГ
                            Кирилл Гусарев27 вересня 2024 р. 09:09
                            Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
                            F
                            Fynjy22 липня 2024 р. 04:15
                            при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

                            Слідкуйте за нами в соціальних мережах