pyqt与requests:在GUI中加载图像

1 投票
1 回答
1430 浏览
提问于 2025-04-17 20:33

我所有的图片都保存在一个文件夹里。

文件夹路径是: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

撰写回答