pyqt与requests:在GUI中加载图像
我所有的图片都保存在一个文件夹里。
文件夹路径是:pictures = '/x.com/user37/Public/....../images/'
我想把这些图片加载到我的图形界面(GUI)上。这是我在我的 __init__
方法里写的内容。
self.movieimg = QImage()
self.imagelbl = QLabel()
self.imagelbl.setAlignment(Qt.AlignCenter)
self.imagelbl.setPixmap(QPixmap.fromImage(self.movieimg))
当我在初始化一个 QGridLayout 之后添加内容时,
layout.addWidget(self.movieimg, 1, 1)
我遇到了一个错误,提示 addWidget 的第一个参数类型不正确。这是为什么呢?
我创建了一个字典 entry = { },并且还有另一个函数用来调用请求。
def nextEntry(self)
r= requests.get(self.MOVIES_URL + str(mid))
resp = json.loads(r.content)
img = resp['movie_id']
self.movieimg = QImage(self.movie['img'])
self.imglbl.setPixmap(QPixmap.fromImage(self.movieimg))
有什么想法吗?我需要在主 __init__
函数里的那条语句之前直接调用这个函数吗?谢谢!
1 个回答
1
self.movieimg
是一种叫做 QImage()
的类型,而你需要在调用 addWidget
方法时,传入一个 QWidget
类型的参数。QLabel()
是从 QWidget
这个类型派生出来的,所以你可以试着传入 self.imagelbl
。