subjпытаюсь прикрутить к QGraphicsItem поток чтобы тот вызывал по нужде перерисовку QGraphicsItem, но судя по всему из потока доступ к QGraphicsItem не выйдет. говорят надо как то прикрутить посыл сигнала из потока в главный поток приложения и там уже вызывать отрисовку.но что то не работает посыл сигнала:QGraphicsItem m_ChipMainWindow widget;код потокаvoid Thread::run(){while (!m_stopped) {QColor cc;cc.setRgb(qrand()/(double)RAND_MAX*256,qrand()/(double)RAND_MAX*256,qrand()/(double)RAND_MAX*256,127);m_Chip->color=cc;emit itemRepaint(m_Chip);QTest::qSleep(200); } m_stopped = false;}перед запуском потокаQObject::connect(&threadA,SIGNAL(i temRepaint(Chip)),widget,SLOT(updateItem (Chip)));в классе потокаsignals:void itemRepaint(Chip* chip);в MainWindowpublic slots:void updateItem(Chip *item);void MainWindow::updateItem(Chip *item){//сюда не попадаетitem->update(item->boundingRect());}**сделал демку с мультипоточностью и отрсиовкой Qgrapicsitem из потоков с передачей сигналов о перерисовке.кому интересно приложено.
|