PyQT5 在osx上设置icon的问题
PyQT5 在osx上设置icon的问题
FalconChen 发表于10个月前
PyQT5 在osx上设置icon的问题
  • 发表于 10个月前
  • 阅读 13
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

本文通过 OscPress 同步至oschina,获取最新版本和更好的阅读体验请查看原文:
http://blog.cellmean.com/?p=1324

最近在学习PyQT5,参考 http://www.cnblogs.com/archisama/p/5442071.html 的教程,教程翻译自:zetcode , 刚开始就遇到了一个奇怪问题,就是在设置应用的icon的时候,在osx 10.11.6系统,按照例程死活显示不出来图标。

例程是这样的:

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
ZetCode PyQt5 tutorial 

This example shows an icon
in the titlebar of the window.

author: Jan Bodnar
website: zetcode.com 
last edited: January 2015
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon


class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):
        
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Icon')
        self.setWindowIcon(QIcon('web.png'))        
    
        self.show()
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

Google搜索了一下,发现在 stackoverflow 也有人遇到同样的问题。如果按采用的答案也没有成功,但确实是要把这个方法放到Qapplication实例,然后再加上第二个哥们的回答,在 Qicon 里再调用一次Qpixmap ,并且传入一个ico格式的图片才能成功。完整代码如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import sys,os

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon,QPixmap


class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Hello Icon')
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    path = os.path.join(os.path.dirname(sys.modules[__name__].__file__), 'good.ico')
    app.setWindowIcon(QIcon(QPixmap(path)))
    ex = Example()
    sys.exit(app.exec_())

这样就显示出来了。

Snip20170312_121

 


感谢阅读本文,欢迎访问 异想录 获取更多内容或 查看原文

标签: icon pyqt5 Python
共有 人打赏支持
粉丝 47
博文 44
码字总数 24718
评论 (0)
×
FalconChen
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: