我对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)
为什么width
和height
显示为零?图像存在并且很好。这完全违反直觉,我不期望从python。
答案 0 :(得分:2)
PyQt在这里和那里添加了一些语法糖,使事情变得更加Pythonic。但它主要是围绕Qt(这是一个C ++库)的相当薄的包装器 - 因此,期望PyQt 始终以一种对Python程序员来说直观的方式行事是错误的。
我想大多数Python程序员可能希望QPixmap在设置不存在的路径时引发错误。但是Qt没有这样做,在这种情况下,PyQt也没有。相反,您可以使用以下方法检查您是否拥有有效的像素图:
pix.isNull()
要实际修复示例中的代码,您显然必须先更改到相应的目录(或使用绝对路径)。