【问题标题】:PyQT4 and QPixmap: load image with size zero?PyQT4 和 QPixmap:加载大小为零的图像?
【发布时间】:2012-12-12 20:55:05
【问题描述】:

我对 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 这样做。

【问题讨论】:

  • 你能给我们看看导致你这个问题的图片吗?

标签: python image pyqt4 qpixmap


【解决方案1】:

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

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

pix.isNull()

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

【讨论】:

  • 示例中的路径绝对正确。这就是问题的全部意义所在。我从一段代码中提取了这些行,该代码实际上在屏幕上显示了图像。
  • @Alex。你的问题并不清楚,所以我寻求最简单的解释。我只能说使用各种 jpg、gif、png 和 tif 图像对我来说效果很好。那么:这个问题是发生在所有图像上,还是只发生在这张特定图像上?
猜你喜欢
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多