Почему Python не отображается в значке пути? - PullRequest
0 голосов
/ 19 февраля 2019

Я написал ниже код

import sys,time
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

app = QApplication(sys.argv)
sys.path.append(r"C:\Users\hpaalm\Desktop")
a=QPushButton()
a.setIcon(QIcon('1.png'))
a.show()
app.exec_()

, когда я запускаю его в IDE, он показывает мой значок, но когда он запускается в CMD, он не показывает значок.в чем проблема?

python C:\Users\hpaalm\Desktop\a.py

1 Ответ

0 голосов
/ 19 февраля 2019

sys.path содержит список путей, куда python импортирует модули, это не служит для импорта файлов, значков или подобных ресурсов.Вместо этого лучше всего создать функцию, которая связывает путь к каталогу с именем файла и возвращает полный путь к значку:

import os
import sys
from PyQt5 import QtGui, QtWidgets

ICON_DIR = r"C:\Users\hpaalm\Desktop"

def get_path_icon(filename):
    return os.path.join(ICON_DIR, filename)

if __name__ == '__main__':

    app = QtWidgets.QApplication(sys.argv)

    a = QtWidgets.QPushButton()
    a.setIcon(QtGui.QIcon(get_path_icon('1.png')))
    a.show()
    sys.exit(app.exec_())
...