Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

PyQtWaitingSpinner

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

PyQtWaitingSpinner

(Py)QtWaitingSpinner is a highly configurable, custom Qt widget for showing "waiting" or "loading" spinner icons in (Py)Qt(6) applications.

  • 1.3.2
  • PyPI
  • Socket score

Maintainers
1

PyQtWaitingSpinner

Python Static Badge Static Badge

PyPI - Version PyPI - Implementation PyPI - Wheel

GitLab Issues

(Py)QtWaitingSpinner is a highly configurable, custom (Py)Qt widget for showing "waiting", or "loading", spinner icons in (Py)Qt applications.

Based on pyqtspinner, by fbjorn, which is a fork of z3ntu's port of snowwlex's QtWaitingSpinner.

The spinners below are all (Py)QtWaitingSpinner widgets, differing only in their configuration:


Original GIF by snowwlex

Original GIF by snowwlex

Original Image by fbjorn


Installation

pip install pyqtwaitingspinner


Dependencies


Configuration

The following properties can all be controlled directly through their corresponding properties:

  • Color of the widget
  • "Roundness" of the lines
  • Speed (rotations per second)
  • Number of lines to be drawn
  • Line length
  • Line width
  • Radius of the spinner's "dead space" or inner circle
  • The percentage fade of the "trail"
  • The minimum opacity of the "trail"
  • Whether to center the spinner on its parent widget
  • Whether or not to disable the parent widget whilst the spinner is spinning
  • The direction in which the spinner will spin

Usage

Spinner

The following code will create a simple spinner that

  • (1) blocks all user input to the main application for as long as the spinner is active
  • (2) automatically centers itself on its parent widget every time "start" is called
  • (3) makes use of the default shape, size and color settings.
spin_pars = SpinnerParameters(disable_parent_when_spinning=True)
spinner = WaitingSpinner(parent, spin_pars)

Configurator

The graphical Configurator allows you edit the parameters of the spinner, and view the changes live.

The Configurator can be launched with:

spinner-conf

configuration

Once the spinner's appearance is to your liking, you can either copy (and view) the initialization parameters for the construction of a SpinnerParameters object, or you can save the spinner as a YAML configuration and load it from within a WaitingSpinner class.

Show Init Args

Pressing the Show Init Args button will show the initialization arguments for the equivalent SpinnerParameters object, and will make a copy to the clipboard, including newlines and whitespace.

show-init-args

SpinnerParameters(
    roundness=100.0,
    trail_fade_percentage=67.0,
    number_of_lines=8,
    line_length=40,
    line_width=40,
    inner_radius=32,
    revolutions_per_second=1.0,
    color=QColor(0, 170, 0),
    minimum_trail_opacity=1.0,
    spin_direction=SpinDirection.COUNTERCLOCKWISE,
    center_on_parent=True,
    disable_parent_when_spinning=False,
)

Save Config

Pressing the Save button will open a dialog allowing you to select the location, and name, in which to save the configured spinner. The outputted YAML file can then be loaded like so:

spinner = WaitingSpinner(parent)
spinner.load("path/to/spinner.yaml")

Documentation

Full documentation at ReadTheDocs


Credits


Enjoy!

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc