Skip to content
 
 

Repository files navigation

QT PyQt PySide Custom Widgets

PyPI Python License Docs

164 documented widgets for PySide6 — charts, data tables, gauges, animated menus, window chrome, loaders and more. Every widget is authorable in Qt Designer, themed through design tokens with light/dark palettes, and documented with live screenshots generated straight from the code.

Custom Widgets Art

Installation

pip install QT-PyQt-PySide-Custom-Widgets[pyside6]   # first install, with Qt
pip install --upgrade QT-PyQt-PySide-Custom-Widgets

Requires Python 3.10+ (PySide6's own floor).

You need a Qt binding. The library reaches Qt through qtpy and does not bundle a binding — that is what lets you use PySide6 or PyQt6, instead of forcing a second ~200 MB Qt download on anyone who already has one. The [pyside6] extra above installs it for you. Prefer PyQt6? pip install PyQt6 and set QT_API=pyqt6. Install without a binding and the first import tells you exactly this, rather than raising a bare QtBindingsNotFoundError.

Optional extras (niche widgets pull their heavier stacks on demand):

pip install "QT-PyQt-PySide-Custom-Widgets[qr]"       # QCustomQRGenerator
pip install "QT-PyQt-PySide-Custom-Widgets[map]"      # QCustomMapView (QtLocation)
pip install "QT-PyQt-PySide-Custom-Widgets[acrylic]"  # AcrylicEffect blur
pip install "QT-PyQt-PySide-Custom-Widgets[loaders]"  # QCustomPerlinLoader
pip install "QT-PyQt-PySide-Custom-Widgets[mcp]"      # the Custom_Widgets MCP server
pip install "QT-PyQt-PySide-Custom-Widgets[all]"      # everything above

Highlights

  • Painted chart family — scatter, funnel, range bar, radial gauges, Sankey, candlestick, beeswarm, diverging bar, bubble, dot matrix, sparklines, donut and more; QPainter-native, crisp at any size.
  • QCustomDataTable — rich cell renderers (two-line, status, currency, link), synthetic select/actions columns, sortable headers.
  • Chrome & motion — custom title bars, hamburger and slide menus, animated stacked-widget transitions, flow layouts with animated reflow, progress and skeleton loaders, typewriter/sparkles/gradient text.
  • Design-token themingapplyDesignTokens drives role-based QSS and light/dark palettes across the whole set.
  • Qt Designer first — every widget and property can be authored visually; the examples ship with editable .ui files.
  • Typed — full .pyi stubs, py.typed, mypy-clean.
  • MCP server ([mcp] extra) — agent control of Qt Designer, live app observation, widget catalog/signature/render tools.
  • Design-rule linterCustom_Widgets.lint catches glyph icons, hardcoded hex colours, drop shadows and oversized icons.

Usage

Read the required project structure before starting — apps use a ui/ + compiled src/ + Qss/ layout that keeps Designer files, generated code and themes separate. The examples/ folder contains 82 complete apps built that way.

QCustomArcLoader GIF

Documentation

Pro & support

The free library is complete on its own and licensed GPLv3. For commercial teams there is Custom Widgets Pro — starting with DataTable Pro (virtualization, server-side sort/filter, grouping with aggregates, pivot, frozen columns, inline editing, CSV/XLSX export) — plus twelve premium example applications. Plans at customwidgets.org/pricing; active Patreon supporters get the same entitlements. The Pro licence includes a written GPL additional permission, so combining the core with Pro and your application does not pull your application under the GPL.

Contributors

Thanks to everyone involved in the development of the project!

Made with contrib.rocks.

Note — this repository is the project's permanent home. It was previously published from the KhamisiKibet account, which is no longer accessible; all development continues here under SpinnCompany.

Credits & third-party assets

This package bundles third-party icon sets and a font. Full notices and the license texts ship inside the package under Custom_Widgets/THIRD_PARTY_NOTICES.md and Custom_Widgets/licenses/.

  • Icons by Font Awesome — Free icons licensed under CC BY 4.0 (© Fonticons, Inc.); fonts under SIL OFL 1.1, code under MIT. Icons may be recoloured/resized.
  • Material Design Icons — Apache License 2.0 (© Google and contributors).
  • Feather — MIT (© 2013-2017 Cole Bemis).
  • Rosario — SIL Open Font License 1.1 (the bundled UI font).

About

Awesome custom widgets made for QT Desktop Applications. Simplify your UI development process. These widgets can be used in QT Designer then imported to PySide code.

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages