使用QIcon不会显示图像 [英] Using QIcon does not display the image

查看:18
本文介绍了使用QIcon不会显示图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试学习PyQt。在阅读教程以获取基本知识时,我遇到了QIcon的问题。

下面的代码应该是从名为‘web.png’的图像中创建一个带有图标的简单窗口:

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包含在当前工作目录中。我使用的是带有Qt 5.6.2的Python3.5.1和PyQt 5。

如有任何帮助,我们将不胜感激。

推荐答案

您应该改用绝对路径:

self.setWindowIcon(QIcon('c:/root_to_your_application/web.png'))

或:

import pathlib
current_directory = str(pathlib.Path(__file__).parent.absolute())
path = current_directory + '/web.png'
self.setWindowIcon(QIcon(path))

这篇关于使用QIcon不会显示图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆