jamvm1.5+classpath-0.96+qt4.3 QPixmap: небезопасно использовать растровые изображения вне потока GUI

jamvm -Dawt.toolkit=gnu.java.awt.peer.qt test

QPixmap: It is not safe to use pixmaps outside the GUI thread

Я новичок в Qt, я не знаю, как с этим бороться.


person Daniel Shi    schedule 23.04.2010    source источник
comment
Вы задаете вопрос или просто заявляете, что не знаете, что делать? Кроме того, обычно помогает показать часть кода, генерирующего сообщение об ошибке (или предупреждение).   -  person Caleb Huitt - cjhuitt    schedule 23.04.2010


Ответы (2)


У меня нет никакого опыта работы с jamvm, но вот цитата из Qt doc, может быть полезно:

Qt предоставляет четыре класса для обработки данных изображений: QImage, QPixmap, QBitmap и QPicture. QImage разработан и оптимизирован для ввода-вывода, а также для прямого доступа к пикселям и манипулирования ими, в то время как QPixmap разработан и оптимизирован для отображения изображений на экране.

Попробуйте использовать QImage вместо QPixmap и посмотрите, есть ли такое же предупреждение/сообщение об ошибке.

person chalup    schedule 23.04.2010

Поскольку QPixmap является представлением, зависящим от устройства, а многие драйверы дисплея и системы не являются потокобезопасными, QPixmap ограничен использованием только в основном потоке или потоке графического интерфейса, который является тем же потоком, в котором должен быть создан экземпляр вашего объекта QApplication. можете увидеть краткий фрагмент в здесь и прочитать больше информации об этом в эту ветку обсуждения.

person Caleb Huitt - cjhuitt    schedule 23.04.2010