首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用QIcon不会显示图像

使用QIcon不会显示图像
EN

Stack Overflow用户
提问于 2016-10-30 22:10:45
回答 2查看 3.6K关注 0票数 1

我正在努力学习PyQt。在阅读教程以获取基础知识时,我遇到了一个关于QIcon的问题。

下面的代码用于创建一个简单的窗口,其中包含一个来自名为“web.png”的图像的图标:

代码语言:javascript
复制
import os
import sys

import PyQt5

dirname = os.path.dirname(PyQt5.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path

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

但是,生成的窗口包含一个标准图标,而不是所需的图像:

图像web.png包含在当前工作目录中。我使用的是Python3.5.1和PyQt 5以及Qt 5.6.2。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-12-31 00:50:07

您应该改用绝对路径:

代码语言:javascript
复制
self.setWindowIcon(QIcon('c:/root_to_your_application/web.png'))

或者:

代码语言:javascript
复制
import pathlib
current_directory = str(pathlib.Path(__file__).parent.absolute())
path = current_directory + '/web.png'
self.setWindowIcon(QIcon(path))
票数 1
EN

Stack Overflow用户

发布于 2016-11-02 04:22:28

您尝试在错误的位置更改图标。我遇到了这个问题,here是解决方案。

您需要更改"subWindow“的图标,只需查看上面的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40330000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档