from PySide2.QtWidgets import QApplication, QPushButton from PySide2.QtGui import QPixmap from PySide2.QtCore import QSize # with open(r"D:\windowIcon.png", "rb") as f: # 用 rb 模式(二进制)打开文件 # # image = f.read() # # print(image) # 打印一下 # # 是一段超级长的字符串串 # # b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x16\xd6 ...省略...' # 上边打印出数据之后就可以把代码注释掉了 image = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x16\xd6 ...省略...' class PushButton(QPushButton): # 搞个小按钮 def __init__(self): super(PushButton, self).__init__() self.setIcon(icon) # 设置图标 self.setIconSize(QSize(200, 200)) # 太小了,大一点 self.show() # 显示看看 if __name__ == '__main__': app = QApplication([]) icon = QPixmap() # 用于绘制图像的类 icon.loadFromData(image) # load from data 多么直白的方法名,棒! win = PushButton() app.exec_()
Pyqt5 与 PySide2 一样的用法,loadFromData()
将图片资源以base64的格式存储在代码里