为什么在将Numpy元素赋予Qt之前必须显式转换它?

时间:2015-08-07 04:58:00

标签: python numpy pyqt pyqt4

NumPy数组的元素提供给Qt.QColor会导致意外行为:

from PyQt4 import Qt
import numpy as np

z = np.zeros((3, 3), dtype=np.uint32)
z[0, 0] = 0xAABBCC
c = Qt.QColor(z[0, 0]) # !!!
print c.red(), c.green(), c.blue() # prints (0, 0, 0)

然而,

c = Qt.QColor(int(z[0, 0])

按预期工作。那是为什么?

版本:标准Ubuntu 14.04(amd64)版本:

  • python 2.7.5
  • numpy 1.8.2
  • python-qt4 4.10.4

0 个答案:

没有答案