PyQt - 使用标签显示图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt - 使用标签显示图像相关的知识,希望对你有一定的参考价值。

我已经将一个numpy数组转换为pixmap,以便在我的GUI中的标签上显示它。当我运行程序时,GUI因某种原因关闭(没有错误消息)。

height, width = input_image.shape
bytesPerLine = 3 * width
qImg = QtGui.QImage(input_image.data, width, height, bytesPerLine, QtGui.QImage.Format_RGB888)
pixmap01 = QtGui.QPixmap.fromImage(qImg)
self.pixmap_image = QtGui.QPixmap(pixmap01)
self.ui.label_imageDisplay.setPixmap(self.pixmap_image)
self.ui.label_imageDisplay.setAlignment(QtCore.Qt.AlignCenter)
self.ui.label_imageDisplay.setScaledContents(True)
self.ui.label_imageDisplay.setMinimumSize(1,1)
self.ui.label_imageDisplay.show()
答案

试试这个:

from PyQt5 import QtWidgets, QtGui, QtCore

from scipy.ndimage import imread
import sys

app = QtWidgets.QApplication(sys.argv)

input_image = imread({your filename})
height, width, channels = input_image.shape
bytesPerLine = channels * width
qImg = QtGui.QImage(input_image.data, width, height, bytesPerLine, QtGui.QImage.Format_RGB888)
pixmap01 = QtGui.QPixmap.fromImage(qImg)
pixmap_image = QtGui.QPixmap(pixmap01)
label_imageDisplay = QtWidgets.QLabel()
label_imageDisplay.setPixmap(pixmap_image)
label_imageDisplay.setAlignment(QtCore.Qt.AlignCenter)
label_imageDisplay.setScaledContents(True)
label_imageDisplay.setMinimumSize(1,1)
label_imageDisplay.show()
sys.exit(app.exec_())

enter image description here

以上是关于PyQt - 使用标签显示图像的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 不会在标签中显示图片

Pyqt5:使用Qlabel标签进行视频播放

PyQt中复选框的ListView

在 PyQt 中获取 ListWidget 项文本和图像

从 PySide 移动到 PyQt5 后图像不显示

如何在 Python 中使用 PyQt 显示 RGB 图像? [复制]