python - PyQt4 和 Python 3 - 显示来自 URL 的图像

标签 python python-2.7 python-3.x pyqt4

我发现这段代码用于显示来自 URL 的图像。此代码不适用于 Python 3.4。我认为 urllib 在 Python 3 上作为 urllib.request 被分开了两个模块。但我无法转换此代码以在 Python 3 上显示它。

from PyQt4.QtGui import QPixmap, QIcon
import urllib

url = 'http://example.com/image.png'    
data = urllib.urlopen(url).read()
pixmap = QPixmap()
pixmap.loadFromData(data)
icon = QIcon(pixmap)

那么如何在 Python 3 和 Pyqt4 上显示图像呢?谢谢。

最佳答案

试试这个:

import sys
from PyQt4 import QtGui
import urllib.request

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):
        hbox = QtGui.QHBoxLayout(self)

        url = 'http://www.google.com/images/srpr/logo1w.png'
        data = urllib.request.urlopen(url).read()

        image = QtGui.QImage()
        image.loadFromData(data)

        lbl = QtGui.QLabel(self)
        lbl.setPixmap(QtGui.QPixmap(image))

        hbox.addWidget(lbl)
        self.setLayout(hbox)

        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

关于python - PyQt4 和 Python 3 - 显示来自 URL 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003043/

相关文章:

python - 创建一个组合两个函数的装饰器,而不指定原始函数的调用签名

python - 错误: 413 Request Too Large - Python Google Drive API with resumable MediaIoBaseUpload Request

python - Python 中嵌套列表的算术运算

python-3.x - 从字符串中提取名称

python-3.x - 如何做出连续的 if 语句?

javascript - 将广度优先搜索移植到 Javascript

python - 如何转换 Pandas 中的纬度/经度点并查看它们是否落在某些边界多边形中?

python - Concat 列名称与第一行的数据,Python 3.6 Dataframe

python - 我如何更改类内的变量?在 python

python - 在 python 中更新 json 行文件的快速方法