【PyQT5】自定义控件 显示网络图片

【PyQT5】自定义控件 显示网络图片

原理:使用 requests 获取图片,加载图片内容到控件中即可。

import sys
import requests
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import (QWidget, QLabel, QVBoxLayout) 
from PyQt5.QtGui import QPixmap
class Picture(QWidget):
	def __init__(self, parent=None, url=None):
		super().__init__(parent) 
		self.url = url
		self.ui() 
	def ui(self):
		# Get Pictures 
		req = requests.get(self.url) 
		photo = QPixmap() 
		photo.loadFromData(req.content) 
		label= QLabel() 
		label.setPixmap(photo) 
		layout =QVBoxLayout() 
		layout.addWidget(label) 
		self.setLayout(layout) 
if __name__ == '__main__':
	app = QApplication(sys.argv) 
	url='https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=415293130,2419074865&fm=27&gp=0.jpg'
	pic = Picture(url=url) 
	pic.show() 
	sys.exit(app.exec_())

req = requests.get(self.url) 这一步会造成UI阻塞,建议使用twisted之类的库异步获取图片。

来源:https://www.codercto.com/a/28056.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值