Название: QLabel: setPixmal из другого треда! Отправлено: Admin от Май 27, 2006, 16:52 Есть тред который считывает картинку с камеры и преобразует ее в QImage.
Далее картинку надо отобразить в QLabel примерно так Код: pMainWnd->m_l_hand_image->setPixmap(QPixmap::fromImage(pMainWnd->m_hand_image->scaled(240,320))); так вот наблюдаются проблемы с синхронизацией! я дак думаю один тред отрисовывает, а в это время другой меняет pixmap. Что делать в такой ситуации? Название: QLabel: setPixmal из другого треда! Отправлено: Sergeich от Май 27, 2006, 20:35 А че вообще за задача? Отображать видео с камеры? Я бы рисовал через OpenGL, получится намного быстрей.
Название: QLabel: setPixmal из другого треда! Отправлено: Admin от Май 28, 2006, 14:16 эээ я уже думал над этим!
просто задача такая! есть 3 камеры! с них идет video Сделал общий тред для камер, последовательно чтение! Они стали друг друга тормозит. Сделал 3 треда, стало падать в QT! C openGL тоже думал, но не уверен что он есть в Win/Lin по умолчанию! Название: QLabel: setPixmal из другого треда! Отправлено: Sergeich от Май 28, 2006, 16:01 Цитировать Сделал общий тред для камер, последовательно чтение! Они стали друг друга тормозит. Сделал 3 треда, стало падать в QT! Это ты че-то с нитками намутил. Нельзя вызывать методы объектов, принадлежащих главной( гуевой ) нитке напрямую из остальных ниток. В 3-ке для этого надо юзать customEvent, в 4-ке можно через слот-сигналы. Цитировать C openGL тоже думал, но не уверен что он есть в Win/Lin по умолчанию! В винде OpenGL присутствует всегда. В линухе обычно ( во всех последних дистрибутивах ) тоже, в крайнем случае всегда можно доустановить. Название: QLabel: setPixmal из другого треда! Отправлено: Admin от Май 28, 2006, 16:42 во! золотые слова! буду пробовать!
Цитировать В 3-ке для этого надо юзать customEvent, в 4-ке можно через слот-сигналы. Цитировать В линухе обычно ( во всех последних дистрибутивах ) тоже, в крайнем случае всегда можно доустановить. просто приходится писать инструкции по установке! но про OPENGL надо будет подумать! |