QtAwesome enables iconic fonts such as Font Awesome and Elusive Icons in PyQt and PySide applications.
It is a port to Python - PyQt / PySide of the QtAwesome C++ library by Rick Blommers.
MIT License. Copyright 2015 - The Spyder development team
The Font Awesome and Elusive Icons fonts are licensed under the SIL Open Font License.
pip install qtawesome
import qtawesome as qta
- Use Font Awesome and Elusive Icons.
# Get icons by name.
fa_icon = qta.icon('fa.flag')
fa_button = QtGui.QPushButton(fa_icon, 'Font Awesome!')
asl_icon = qta.icon('ei.asl')
elusive_button = QtGui.QPushButton(asl_icon, 'Elusive Icons!')
- Apply some styling
styling_icon = qta.icon('fa.music',
active='fa.legal',
color='blue',
color_active='orange')
music_button = QtGui.QPushButton(styling_icon, 'Styling')
- Stack multiple icons
# Stack icons
camera_ban = qta.icon('fa.camera', 'fa.ban',
options=[{'scale_factor': 0.5,
'active': 'fa.legal'},
{'color': 'red'}])
stack_button = QtGui.QPushButton(camera_ban, 'Stack')
stack_button.setIconSize(QtCore.QSize(32, 32))
- Animations
# Spin icons
spin_button = QtGui.QPushButton(' Spinning icon')
spin_icon = qta.icon('fa.spinner', color='red',
animation=qta.Spin(spin_button))
spin_button.setIcon(spin_icon)
- While QtAwesome embeds Font Awesome and Elusive Icons, it can also be used with other iconic fonts. A
load_font
function is available. A ttf font and a json character map for icon names must be provided.