在Python编程中,PyQt库是使用率较高的一个编写程序软件的图形界面库。我们常常需要使用图标美化界面,如给控件设置图标、菜单中添加图标指示,图标资源除了在网上下载现成的图标文件外,也可以使用PyQt库中内置的图标。实际上,在PyQt5界面库中内置了大约70个左右的常用图标,不同版本的PyQt库中其个数略有区别,下面给出获取这些图标并显示的方法。
2、软件运行界面
3、代码实现
# -*- coding: utf-8 -*-#import sysfrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class MainWnd(QWidget): def __init__(self, parent=None): super(MainWnd, self).__init__(parent) icons = sorted(self.getEnumStrings(QStyle, QStyle.StandardPixmap).items()) layout = QGridLayout(self) colNums = 4 #每行显示的图标数目 for i, iconInfo in enumerate(icons[1:]): btn = QPushButton(QApplication.style().standardIcon(i), ' {} - {}'.format(*iconInfo)) btn.setStyleSheet('QPushButton{text-align:left; height:30}') layout.addWidget(btn, int(i / colNums), i % colNums) self.setWindowTitle('Qt内置图标显示') self.setWindowIcon(QApplication.style().standardIcon(QStyle.SP_DriveFDIcon)) def getEnumStrings(self, cls, enum): s = {} for key in dir(cls): value = getattr(cls, key) if isinstance(value, enum): s['{:02d}'.format(value)] = key return sif __name__ == '__main__': app = QApplication(sys.argv) w = MainWnd() w.show() sys.exit(app.exec_())