Странное отображение QPixmap
От: Lexerys Украина  
Дата: 30.05.20 16:39
Оценка:
Есть QLabel, в который кладется изображение:
  QLabel::setPixmap(QPixmap);

Изображение грабится с другого виджета:
  widget->grab();

На виджете (из которого грабится изображение) находится сцена (QGraphicScene), на сцене лежит QGraphicPixmapItem.
Пока в сцене лежит монохромное изображение (QImage::Format_Indexed8), все работает правильно.
Но если в сцене цветное изображение (QImage::Format_RGB32), то в QLabel изображение как бы замыленное, на нем практически ничего не видно, оно почти белое, но цветные контуры изображения немного прослеживаются.
Если QPixmap перед выводом в QLabel сохранить на диск и тут же загрузить в этот же QPixmap
  pixmap.save("image.jpg");
  pixmap = QPixmap("image.jpg");

то внезапно все отрисовывается правильно, и в файл сохраняется правильное изображение.
Глючит одинаково на винде, линуксе и макоси.
Поковырялся, ничего толком раскопать не смог, и обошел проблему с другой стороны (не граблю виджет, а рендерю изображение другим способом).

Но вот этот же нюанс вылез в другом месте, и там с другой стороны уже не обойти.
Причем в винде и линуксе все ок, а на MacOS (Catalina) — глюки.
Qt 5.6, 5.13 — одинаково.

В какую сторону копать, в чем может быть дело?
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.