qtutils
Utilities for providing concurrent access to Qt objects, simplified QSettings storage, and dynamic widget promotion when loading UI files, in Python Qt applications. Includes the Fugue icon set, free to use with attribution to Yusuke Kamiyamane, and the Ubuntu font family (available under the Ubuntu font license).
Installation
-
To install the latest release version, run
pip install qtutils. -
To install latest development version, clone the GitHub repository and run
pip install .to install, orpip install -e .to install in 'editable' mode.
Summary
qtutils is a Python library that provides some convenient features to Python
applications using the PyQt5/PyQt6/PySide6 widget library.
qtutils 4.0 dropped support for PySide2. If you need to use PySide2, you may use
qtutils 3.1.0 or earlier.
qtutils contains the following components:
-
invoke_in_main: This provides some helper functions to interact with Qt from threads. -
UiLoader: This provides a simplified means of promoting widgets in*.uifiles to a custom widget of your choice. -
qsettings_wrapper: A wrapper around QSettings which allows you to access keys of QSettings as instance attributes. It also performs automatic type conversions. -
icons: An icon set as aQResourcefile and corresponding Python module. The resulting resource file can be used by Qt designer, and the python module imported by applications to make the icons available to them. The Fugue icon set was made by Yusuke Kamiyamane, and is licensed under a Creative Commons Attribution 3.0 License. If you can't or don't want to provide attribution, please purchase a royalty-free license from http://p.yusukekamiyamane.com/ -
Qt: a PyQt5/PyQt6/PySide6 agnostic interface to Qt that allows you to import qtutils.qt instead of PySide6 or PyQt5/6, and have your code run on both, with some convenience aliases to make it easier to write code that works with both libraries. Note that this is not a comprehensive abstraction layer like QtPy and your code will still need to be written in a way generally compatible with both libraries if you want to support both.qtutilsdoes provide aliases for short enums in PyQt6, however, which is one of the most singificant differences between PySide6 and PyQt6.qtutils.qtwill choose which Qt library to use based on a) if theQT_ENVenvironment variable is set toPyQt5,PySide6, orPyQt6, otherwise whichever library has already been imported, or if none, whichever is installed, with order of priorityPyQt5,PySide6, thenPyQt6. -
outputbox: aQTextEditwidget for displaying log/output text of an application, either by calling methods or by sending data to it overzeromq. -
fonts: bundled fonts from the Ubuntu font family - callqtutils.fonts.load_fonts()after instantiating aQApplicationto add them to theQtfont database and make them available to your application.
Using icons with Qt designer
To use the icons from Qt designer, clone this repository, and point Qt designer to the
.qrc file for the icons set: icons/icons.qrc. Unfortunately Qt desginer saves the
absolute path to this file in the resulting .ui file, so if the .ui file is later
edited by someone on another system, they will see an error at startup saying the .qrc
file cannot be found. This can be ignored and the .ui file will still function
correctly, but Qt designer will need to be told the local path to the .qrc file before
it can display the icons within its interface.
Release files for qtutils 4.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qtutils-4.1.3.tar.gz | 7.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qtutils-4.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 MB
Release files / qtutils-4.1.3.tar.gz
| Download URL | qtutils-4.1.3.tar.gz |
|---|---|
| Size | 7.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f61b4ebf4d9d354704522b3cb71c6089874ab2fea8c7a71e8306f5c03adbd9e
|
|
BLAKE2b-256 checksum How to use checksums |
e65513b3a29f2f86c932da8f14fc168f0bf7d47ec76dd993fcc19c644a9558b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.
Transparency logRelease files / qtutils-4.1.3-py3-none-any.whl
| Download URL | qtutils-4.1.3-py3-none-any.whl |
|---|---|
| Size | 9.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
faa0c9c631900bc6ccd78a0ed50f26a47dd8d28103c176d2dc01d1178d834c56
|
|
BLAKE2b-256 checksum How to use checksums |
e022deff531a1ee004486c83a4a2fa65327d35e5743039a3c36f0b25ad6aa102
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.
Transparency log