pyqt中使用font awesome字体的两种方法

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()

  

猜你喜欢

转载自www.cnblogs.com/luke0011/p/9056515.html