2015-06-05 78 views
1

enter image description herePyqt5:像素圖的顏色問題

它是在對照片的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) 

更新

我想通了,它不是一個點陣圖的問題,而是一個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

我懷疑你碰到了this bug

它在this message的上游(來自Debian,問題被報告給Qt)提交。

我懷疑你正在使用PowerPC?

+0

不,我在每檯筆記本電腦上都使用英特爾。對不起,trolltech.com的鏈接被破壞或者什麼,我只看到advs那裏。我認爲這實際上是你提到的錯誤,但據說這個錯誤在4.5.2中得到修復。 – Anatoly

+0

@Anoly好了......但我相信這是一個類似的問題;也許你已經偶然發現了一個新版本。也許你可以在故障點前後打印像素值(即在Windows和Ubuntu中) – jcoppens

+0

請參閱問題更新,請 – Anatoly