【问题标题】:"Python.exe" crashes when PyQt's setPixmap() is called with a Pixmap当使用 Pixmap 调用 PyQt 的 setPixmap() 时,“Python.exe”崩溃
【发布时间】:2010-11-04 23:14:36
【问题描述】:

我有一个使用套接字相互发送和接收图像的程序。 服务器使用'image.tostring()'发送图像数据,客户端接收它并使用'Image.fromstring'将其转换回图像,然后使用'ImageQt.ImageQt(image)'转换为QImage,将其转换使用 'QPixmap.fromimage(qimage)' 进入 QPixmap 然后使用 'lable.setPixmap(qpixmap)' 更新我的 QWidget 的 QLable 图像

对于小图像一切正常,但对于大于 200x200 的图像,python.exe 崩溃并且控制台仅显示“进程以 -1073741819 的退出代码终止”并且没有告诉我问题所在。

我已将问题归结为“setPixmap()”(只要我将其注释掉,其他一切都有效),但我看不出问题出在哪里。

这只发生在客户端。服务器端使用相同的步骤从 Image 到 QImage 到 QPixmap 然后 setPixmap,但这没有任何问题。

还尝试将其设置为 QBitmap 并在位图上使用 setPixmap,这很有效(但它是黑白的,所以不能使用它)。奇怪!

任何帮助将不胜感激!

【问题讨论】:

  • 您找到解决方案了吗?我目前正在处理一个非常相似的问题。
  • 即错误 0xC0000005(十六进制),here 是一些解决方案

标签: python pyqt qpixmap


【解决方案1】:

可能值得将图像数据转储到文件中,并通过将其加载到图像查看器中来检查您是否拥有所有数据。如果你得到不完整的数据,你可能仍然可以获取一个 QImage 并创建一个 QPixmap,但它可能是无效的。

【讨论】:

  • 就我而言,QPixmap 很好。 (如果我写入文件,这是正确的。)但是调用 setPixmap 时 Python 仍然崩溃。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多