我写了下面的代码
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
答案 0 :(得分:0)
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_())