Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

FontAwesome icons in PyQt and PySide applications

Project description

QtAwesome

license pypi version conda version download count OpenCollective Backers Join the chat at https://gitter.im/spyder-ide/public
PyPI status Appveyor build status CircleCI build status Documentation Status

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:

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

QtAwesome 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.

Backers

Sponsors

Become a sponsor to get your logo on our README on Github.

Sponsors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
QtAwesome-0.5.7-py2.py3-none-any.whl (628.6 kB) Copy SHA256 hash SHA256 Wheel py2.py3
QtAwesome-0.5.7.tar.gz (642.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page