FontAwesome icons in PyQt and PySide applications
Project description
QtAwesome
Copyright © 2015–2018 Spyder Project Contributors
Description
QtAwesome enables iconic fonts such as Font Awesome and Elusive Icons in PyQt and PySide applications.
It started as a Python port of the QtAwesome C++ library by Rick Blommers.
Installation
Using pip
:
Make sure you have pip installed and run:
pip install qtawesome
Using conda
:
conda install qtawesome
Usage
Supported Fonts
QtAwesome identifies icons by their prefix and their icon name, separated by a period (.
) character.
The following prefixes are currently available to use:
-
-
FA 5.4.2 features 1,393 free icons in different styles:
fa5
prefix has 151 icons in the "regular" style.fa5s
prefix has 852 icons in the "solid" style.fa5b
prefix has 390 icons of various brands.
-
fa
is the legacy FA 4.7 version with its 675 icons but all of them (and more!) are part of FA 5.x so you should probably use the newer version above.
-
-
ei
prefix holds Elusive Icons 2.0 with its 304 icons. -
mdi
prefix holds Material Design Icons 3.0.39 with its 3039 icons.
Examples
import qtawesome as qta
- Use Font Awesome, Elusive Icons or Material Design Icons.
# Get FontAwesome 5.x icons by name in various styles:
fa5_icon = qta.icon('fa5.flag')
fa5_button = QtGui.QPushButton(fa5_icon, 'Font Awesome! (regular)')
fa5s_icon = qta.icon('fa5s.flag')
fa5s_button = QtGui.QPushButton(fa5s_icon, 'Font Awesome! (solid)')
fa5b_icon = qta.icon('fa5b.github')
fa5b_button = QtGui.QPushButton(fa5b_icon, 'Font Awesome! (brands)')
# or Elusive Icons:
asl_icon = qta.icon('ei.asl')
elusive_button = QtGui.QPushButton(asl_icon, 'Elusive Icons!')
# or Material Design Icons:
apn_icon = qta.icon('mdi.access-point-network')
mdi_button = QtGui.QPushButton(apn_icon, 'Material Design Icons!')
- Apply some styling
# Styling icons
styling_icon = qta.icon('fa5s.music',
active='fa5s.balance-scale',
color='blue',
color_active='orange')
music_button = QtGui.QPushButton(styling_icon, 'Styling')
- Stack multiple icons
# Stacking icons
camera_ban = qta.icon('fa5s.camera', 'fa5s.ban',
options=[{'scale_factor': 0.5,
'active': 'fa5s.balance-scale'},
{'color': 'red'}])
stack_button = QtGui.QPushButton(camera_ban, 'Stack')
stack_button.setIconSize(QtCore.QSize(32, 32))
- Animations
# Spining icons
spin_button = QtGui.QPushButton(' Spinning icon')
spin_icon = qta.icon('fa5s.spinner', color='red',
animation=qta.Spin(spin_button))
spin_button.setIcon(spin_icon)
- Screenshot
Other features
- QtAwesome comes bundled with Font Awesome, Elusive Icons and Material Design
Icons but it can also be used with other iconic fonts. The
load_font
function allows to load other fonts dynamically. - QtAwesome relies on the QtPy project as a compatibility layer on the top ot PyQt or PySide.
License
MIT License. Copyright 2015 - The Spyder development team. See the LICENSE file for details.
The Font Awesome, Elusive Icons and Material Design Icons fonts are licensed under the SIL Open Font License.
Contributing
Everyone is welcome to contribute!
Backers
Support us with a monthly donation and help us continue our activities.
Sponsors
Become a sponsor to get your logo on our README on Github.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for QtAwesome-0.5.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cae63e133078c2608d43a5d9242f572c066bbbe2d6cfd02156eaa0367e66142 |
|
MD5 | b6da24fe02e0cb90d0ef98e368f1dce9 |
|
BLAKE2b-256 | b9cd4cdd5bc564a9e8e44ad106f8b8782624c82354d0a17245d7ff1832b6566e |