PyQt4与Python 3 - 从URL显示图像

5 投票
1 回答
8827 浏览
提问于 2025-04-18 08:20

我找到了一个用来从网址显示图片的代码。不过这个代码在Python 3.4上不太好使。我觉得在Python 3中,urllib被分成了两个模块,其中一个是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上显示图片呢?谢谢。

1 个回答

11

试试这个:

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()

撰写回答