70 lines
1.7 KiB
Python
70 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
'''
|
|
Created on 2017年3月30日
|
|
@author: Irony."[讽刺]
|
|
@site: https://pyqt5.com , https://github.com/892768447
|
|
@email: 892768447@qq.com
|
|
@file: AwesomeFont
|
|
@description:
|
|
'''
|
|
|
|
__Author__ = "By: Irony.\"[讽刺]\nQQ: 892768447\nEmail: 892768447@qq.com"
|
|
__Copyright__ = "Copyright (c) 2017 Irony.\"[讽刺]"
|
|
__Version__ = "Version 1.0"
|
|
|
|
import sys
|
|
|
|
from PyQt5.QtGui import QFontDatabase, QFont
|
|
from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout,\
|
|
QScrollArea, QPushButton
|
|
|
|
from Lib.FontAwesome import FontAwesomes # @UnresolvedImport
|
|
|
|
|
|
class ScrollArea(QScrollArea):
|
|
|
|
def __init__(self):
|
|
super(ScrollArea, self).__init__()
|
|
self.setWindowTitle("FontAwesome Fonts")
|
|
self.window = QWidget(self)
|
|
self.setWidget(self.window)
|
|
|
|
layout = QGridLayout(self.window)
|
|
fonts = list(FontAwesomes.alls().items()) # 786个 131*6
|
|
print(fonts)
|
|
|
|
for row in range(131):
|
|
for col in range(6):
|
|
# print(row, col, row * 6 + col)
|
|
layout.addWidget(QPushButton(
|
|
": ".join(fonts[row * 6 + col]),
|
|
self.window,
|
|
minimumHeight=33,
|
|
font=QFont("FontAwesome", 14)),
|
|
row, col, 1, 1)
|
|
|
|
self.showMaximized()
|
|
|
|
def resizeEvent(self, event):
|
|
super(ScrollArea, self).resizeEvent(event)
|
|
self.window.resize(self.width(), self.height() * 4)
|
|
|
|
|
|
app = QApplication(sys.argv)
|
|
app.setStyleSheet("""QPushButton:hover {
|
|
color: green;
|
|
}
|
|
QPushButton:pressed {
|
|
color: red;
|
|
}
|
|
""")
|
|
|
|
QFontDatabase.addApplicationFont(
|
|
"Data/Fonts/fontawesome-webfont.ttf")
|
|
|
|
window = ScrollArea()
|
|
|
|
window.show()
|
|
sys.exit(app.exec_())
|