1

我对 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 做到这一点。

4

1 回答 1

3

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

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

pix.isNull()

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

于 2012-12-13T00:30:27.370 回答