вопрос о потоке Qthread

 
0
 
C++
ava
daemonaz | 01.11.2012, 16:29
Я создал класс унаследованный QObject, поместил в поток с помощью moveToThread()

    QThread *thread = new QThread(NULL);
    Load *load = new Load(m_Port);
    load->moveToThread(thread);

QtCreator ругается QObject::moveToThread: Cannot move objects with a parent
но я не передавал в качестве параметра родителя, с чего он ругается?
m_port - всего лишь объект класса SerialPort, но не родителя который по умолчанию parent=0
Что не так?



Ответы (2)
ava
daemonaz | 01.11.2012, 16:40 #
пардон, поторопился с вопросом!
Надо подробно ему сказать что родитель это NULL, а не надеяться на конструктор


QThread *thread = new QThread(NULL);
    Load *load = new Load(NULL, m_Port);    // !!!!!!!!
    load->moveToThread(thread);
ava
math64 | 02.11.2012, 09:15 #
При объявлении конструктора, нужно правильно выбирать порядок аргументов:

Load(::QtAddOn::SerialPort::SerialPort* port, QObject *parent = NULL);

Значение по умолчению могут иметь только последние аргументы.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить