Skip to main content

Collection of utilities for Qt applications

Project description

Utilities

Overview

A package for collecting utilities I usually use in my Qt-projects in Python. Some modules depend on others but some can be used on their own. Some modules might have stub files to assist development, but they always contain an initializer function to create the necessary stub files if they are missing when the module is first imported. The functionality of subclasses of QDialog are also available as subclasses of QDockWidget (floating, same-window dialogs). There are no set goals for this project other than having these things in one place, in a structured manner.

The package can be installed via pip:

pip install utils-qt-mk

Then it can be used as utils_qt_mk, for example

from utils_qt_mk.colours import ColourSelector

Contents

general

General functions, classes etc. mostly for internal use in other parts of the package. Modules usually depend on it.

config

A module for setting up constants for the package. Provides getter/setter functions.

colours

Adds the standard R colour palette to Qt applications. It provides a singleton object named Colours, with attribute access to all the colours of R's colors() function. These can be conveniently selected from a colour selector dialog, either from a drop-down list (by name) or from a grid (by visual selection). Based on this selector there is a colour scale creator dialog, where from a number of selected colours and set number of steps a colour scale can be defined for further use e.g. for plotting. It optionally uses theme: if the module can be imported, the dialogs can have a theme.

To get a list of QColor objects from an existing scale, use the scale_json_to_list() function.

creators

Provides a simple way to use creators of other modules. Importing and running the creator_centre() function opens the Creator Centre, a simple app where all these creators are available. If new file dialogs or message boxes are defined, the stub file must be deleted so the new types could be included (might become automatic in the future).

custom_file_dialog

Provides predefined file dialogs (CFDType singleton) customized by a JSON file and a creator dialog. In the latter, a custom dialog could be defined, setting its type (source/destination), window title, dialog type (to open/save a file or open an existing directory), extension filter and associated path. Another function of these dialogs is to provide navigation history: if a path is successfully selected, the JSON file gets updated with it.

To get a list of available path types, use the get_cfd_types() function.

message

Provides predefined message boxes (MessageBoxType singleton) that can have a theme assigned (so it depends on theme) and a creator dialog. In the latter, a custom message box can be defined, setting its category (e.g. warning), window title and message (text content of the message box). A 'custom' category message box can also have its icon, buttons and flags set.

To get a list of available messagebox types, use the get_messagebox_types() function.

progress_dialog

Provides a cancellable, optionally nested progress dialog, reporting on a compatible process ran by a QObject-subclass on a separate thread. It also has a (package private) example of a compatible worker object. It optionally uses theme: if the module can be imported, it can use the preset themes.

theme

Provides a simple way to apply a predefined theme to Qt-widgets. It also adds a singleton object named WidgetTheme that has attribute access to all the defined themes. The set_widget_theme() function uses this singleton to select a theme.

To get a list of available themes, use the get_theme_types() function.

theme_creator

Depends on theme and colours to provide a theme creator dialog. It provides a simple interface to edit and preview existing themes or to create new ones.

widget_mix

A module for a mix of custom widgets.

Wiki

For a more detailed API reference, see the project wiki.

Project details


Download files

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

Source Distribution

utils_qt_mk-1.0.9.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

utils_qt_mk-1.0.9-py3-none-any.whl (72.3 kB view details)

Uploaded Python 3

File details

Details for the file utils_qt_mk-1.0.9.tar.gz.

File metadata

  • Download URL: utils_qt_mk-1.0.9.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for utils_qt_mk-1.0.9.tar.gz
Algorithm Hash digest
SHA256 78f5a33e81bc746e76c0b4fc7ddae7287aeb48e6d6d53275ccc3a042a622f9c3
MD5 ad9f6d3f50e90d700cacf0443327d00c
BLAKE2b-256 97ae42f019951ec292abf0401bcb03d5565b305e917912dd5a26494f9508ed07

See more details on using hashes here.

File details

Details for the file utils_qt_mk-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: utils_qt_mk-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 72.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for utils_qt_mk-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c4ec9a698c72a599194b6cdc0bcfaa15cee1ab3aa78b2721f2f4e55c92d7e0d5
MD5 0b92f4e594b03ded48f884a73034667f
BLAKE2b-256 c154ef79bb361e3ad31b55b5a80e223f752c46060f553391bc55c669b3c41e40

See more details on using hashes here.

Supported by

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