1、使用第三方库文件:qtawesome,安装方法:pip install QtAwesome
例子:
# -*- coding: utf-8 -*-# #------------------------------------------------------------------------------- # Name: 使用第三方库:qtawesome库 # Description: # Author: lgk # Date: 2018/5/18 #------------------------------------------------------------------------------- from PyQt4.QtGui import * from PyQt4.QtCore import * import sys import qtawesome as qta class MyWindow(QMainWindow): def __init__(self): super(MyWindow, self).__init__() mainWidget = QWidget() layout = QVBoxLayout(mainWidget) icon1 = qta.icon('fa.music', scale_factor = 1, color='blue') btn1 = QPushButton(icon1, 'Icon + Text') font=QFont(btn1.font()) font.setPointSize(30) btn1.setFont(font) btn2 = QPushButton(unichr(0xf101)) btn2.setFont(qta.font('fa', 50)) layout.addWidget(btn1) layout.addWidget(btn2) self.setCentralWidget(mainWidget) btn1.clicked.connect(quit) def main(): app = QApplication(sys.argv) mainWnd = MyWindow() mainWnd.show() sys.exit(app.exec_()) if __name__ == '__main__': main()
2、不使用第三方库文件,要求在当前目录下必需有字体文件:fontawesome-webfont.ttf
例子:
# -*- coding: utf-8 -*-# #------------------------------------------------------------------------------- # Name: 不使用第三方库 # Description: 在当前目录下必需有字体文件:fontawesome-webfont.ttf # Author: lgk # Date: 2018/5/18 #------------------------------------------------------------------------------- import sys from PyQt4.QtGui import * from PyQt4.QtCore import * class MyWindow(QMainWindow): css = """ QToolButton{{ border: None; }} """ def __init__(self): super(MyWindow, self).__init__() self.setStyleSheet(self.css.format()) fontId = QFontDatabase.addApplicationFont("fontawesome-webfont.ttf") fontName = QFontDatabase.applicationFontFamilies(fontId)[0] self.font = QFont(fontName, 30) btn = QToolButton(self) btn.setToolButtonStyle(Qt.ToolButtonIconOnly) btn.setFont(self.font) btn.setText(unichr(0xf101)) self.setCentralWidget(btn) btn.clicked.connect(quit) def main(): app = QApplication(sys.argv) mainWnd = MyWindow() mainWnd.show() sys.exit(app.exec_()) if __name__ == '__main__': main()