Skip to main content

Tools for using cross-platform Qt icon themes.

Project description

This package provides tools to manage PyQt icon themes.

The QIcon.fromTheme API works with icon themes following the freedesktop icon theme spec, which is great for Linux systems with installed and enabled themes, but not for Windows or OS X, which lack them.

To benefit, you just have to create a theme directory with the right structure and use this package’s functions:

icons (The default directory name)
├hicolor
│├16x16/apps/myapp.png
│├32x32/apps/myapp.png
│┆
│└scalable/apps/myapp.svg
└mypackage-builtin
 ├16x16
 │├actions
 ││├document-open.png
 ││┆
 │├mimetypes
 ││├application-x-mymime.png
 ┆┆┆

This package provides the following functions to ease bundling an in-memory icon theme for those systems:

write_theme_indices

Creates .index.theme files from the .png and .svg files.

write_resources

Create a .qrc and _rc.py file to import the icon data from. (Needs the .index.theme files)

write_iconset

Creates a iconset folder for OSX apps, e.g. via py2app, using the hicolor/<s>x<s>/apps/myapp.png files.

install_icon_theme

To be used in a running application to make the builtin icons available.

The hicolor/<s>x<s>/apps/myapp.png files can be

  1. installed to the system by packagers (/usr/share/icons/hicolor/…)

  2. subsequently used in a .desktop file (Icon=myapp)

  3. used as window icon (self.setWindowIcon(QIcon.fromTheme('myapp')))

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

qtico-0.1.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

qtico-0.1-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page