Повторил в точности как в данном уроке. В результате кнопка Stop не срабатывает вообще, при нажатии Write 1 и Write 2 информация в потоки помещается через раз, чаще вообще ничего не передается. С чем это связано может быть? Start работает нормально.
Делаю всё как на видео, но получаю ошибку. QObject::moveToThread: Current thread (0xd31670) is not the object's thread (0x7fff527d6b00). Cannot move to target thread (0x7fff527d6b10) connect(&potok, &QThread::started, &fun, &Funct::func1); connect(&potok2, &QThread::started, &fun, &Funct::func2); connect(&fun, &Funct::s_stop, &potok, &QThread::quit); connect(&fun, &Funct::s_stop, &potok2, &QThread::quit); fun.moveToThread(&potok); fun.moveToThread(&potok2); При запуске программы, 2й поток не работает, пока хотя бы 1 раз не запустишь первый. Что не так?
Полагаю, что выделили память под какие-то объекты через оператор new и передали parent. Если хотите перенести объект в другой поток, то передавать ему указатель на parent не стоит. Поскольку объект в другой поток можно передать только без парента.
Повторил в точности как в данном уроке. В результате кнопка Stop не срабатывает вообще, при нажатии Write 1 и Write 2 информация в потоки помещается через раз, чаще вообще ничего не передается. С чем это связано может быть? Start работает нормально.
а для дочерних окон такое можно применять?
Спасибо крайне полезная информация) без неё в гуи не как
Делаю всё как на видео, но получаю ошибку.
QObject::moveToThread: Current thread (0xd31670) is not the object's thread (0x7fff527d6b00).
Cannot move to target thread (0x7fff527d6b10)
connect(&potok, &QThread::started, &fun, &Funct::func1);
connect(&potok2, &QThread::started, &fun, &Funct::func2);
connect(&fun, &Funct::s_stop, &potok, &QThread::quit);
connect(&fun, &Funct::s_stop, &potok2, &QThread::quit);
fun.moveToThread(&potok);
fun.moveToThread(&potok2);
При запуске программы, 2й поток не работает, пока хотя бы 1 раз не запустишь первый. Что не так?
Полагаю, что выделили память под какие-то объекты через оператор new и передали parent. Если хотите перенести объект в другой поток, то передавать ему указатель на parent не стоит. Поскольку объект в другой поток можно передать только без парента.