PyQT4和QPixmap:加载大小为零的图像?

时间:2012-12-12 20:55:06

标签: python pyqt4

我对PyQt4感到困惑。我在python2.6上尝试了以下步骤:

In [1]: from PyQt4 import QtGui

In [2]: import sys

In [3]: app = QtGui.QApplication(sys.argv)

In [4]: pix = QtGui.QPixmap("P1010001.JPG")

In [5]: pix.width(), pix.height()
Out[5]: (0, 0)

为什么widthheight显示为零?图像存在并且很好。这完全违反直觉,我不期望从python。

1 个答案:

答案 0 :(得分:2)

PyQt在这里和那里添加了一些语法糖,使事情变得更加Pythonic。但它主要是围绕Qt(这是一个C ++库)的相当薄的包装器 - 因此,期望PyQt 始终以一种对Python程序员来说直观的方式行事是错误的。

我想大多数Python程序员可能希望QPixmap在设置不存在的路径时引发错误。但是Qt没有这样做,在这种情况下,PyQt也没有。相反,您可以使用以下方法检查您是否拥有有效的像素图:

pix.isNull()

要实际修复示例中的代码,您显然必须先更改到相应的目录(或使用绝对路径)。