Pyqt5:Pixmap颜色问题

时间:2015-06-05 23:32:27

标签: python ubuntu pyqt pyqt5

enter image description here

这是图片中的QPixmap(在QLabel中)。问题是:我已经通过xrdp从Windows 8.1连接到我的Ubuntu 15.04并使用Pyqt5 gui运行我的python应用程序。突然间,似乎没有红色通道(图片上的蓝色车实际上是红色的)。

当我在Ubuntu上运行它时没问题。 JPG和PNG都出现问题。有人遇到过这样的问题吗?建议?谢谢!

Python 2.7.9

img = '(picture path)'
pixmap = QPixmap(img)
pixmap = pixmap.scaledToHeight(500)
pixmap_label = QLabel(self)
pixmap_label.setPixmap(pixmap)

更新

我发现这不是Pixmap问题,而是Qt问题,因为我将一个按钮设置为红色(使用setStyleSheet),当我从Windows连接时它变为蓝色。

更新

是的,蓝色是红色。原因是,当我通过xrdp连接时,它不是RGB,而是BGR

更新

一种可能的解决方案是使用QImage.rgbSwapped(),但它仍然不能解决其余GUI的问题。

image_qt = ImageQt(img)
image_qt = image_qt.rgbSwapped()
img = QImage(image_qt)
pixmap = QPixmap(img)
pixmap = pixmap.scaledToHeight(500)
pixmap_label.setPixmap(pixmap)

1 个答案:

答案 0 :(得分:1)

我怀疑你正在点击this bug

它是在this message上游提交的(从Debian,问题报告给Qt)。

我怀疑您使用的是PowerPC?