【问题标题】:PyQt4 - setWindowIcon from external websitePyQt4 - 来自外部网站的 setWindowIcon
【发布时间】:2012-04-11 11:36:10
【问题描述】:

我目前正在使用 PyQt4 开发我的第一个应用程序,我现在想做的是从网站上的图像源设置我的应用程序的窗口图标。

我认为这样的事情会起作用,但事实并非如此: 自己。

# Sets the application icon
def set_app_icon(self, icon_url):
    self.setWindowIcon(QIcon(QUrl(icon_url)))

self.set_app_icon('http://web.page/icon.png')

我怎样才能做到这一点?提前谢谢你。

【问题讨论】:

  • 你得到什么错误信息?
  • 没有错误信息,但没有显示图标。

标签: python icons pyqt pyqt4


【解决方案1】:

QIcon 无法从网络上获取数据。您需要自己下载并提供给QIcon。像这样的:

import sys
from PyQt4 import QtGui, QtCore, QtNetwork

class Main(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)

    def loadIconFromUrl(self, url):
        manager = QtNetwork.QNetworkAccessManager(self)
        manager.finished.connect(self._setIconFromReply)
        manager.get(QtNetwork.QNetworkRequest(QtCore.QUrl(url)))

    def _setIconFromReply(self, reply):
        p = QtGui.QPixmap()
        p.loadFromData(reply.readAll(), format="ico")
        self.setWindowIcon(QtGui.QIcon(p))

app = QtGui.QApplication(sys.argv)
main = Main()
main.loadIconFromUrl("http://en.wikipedia.org/favicon.ico")
main.show()
sys.exit(app.exec_())

【讨论】:

  • 非常感谢!像魅力一样工作!
猜你喜欢
  • 2019-02-16
  • 2014-12-09
  • 1970-01-01
  • 2012-12-03
  • 2016-06-23
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 2015-11-23
相关资源
最近更新 更多