zoukankan      html  css  js  c++  java
  • 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()
    

      

  • 相关阅读:
    mysql备份
    Linux 配置参考
    oracle补丁安装
    多智能体城市交通计算综合应用
    基于纳什均衡的多智能体强化学习交通信号控制
    多智能体强化学习在城市交通信号控制中的研究与应用- 笔记
    Sarsa与Q-learning
    Pandas笔记
    Python学习笔记
    Game Theory and Multi-agent Reinforcement Learning笔记 下
  • 原文地址:https://www.cnblogs.com/luke0011/p/9056515.html
Copyright © 2011-2022 走看看