Skip to main content

Package to construct Qt widgets from dataclasses

Project description

DaWiQ - Dataclass Widget with Qt

PyPI version Python Version Build Status Documentation Status License

DaWiQ is a Python package to generate Qt widget from dataclass.

It provides:

  • Dynamic construction of widget from dataclass
  • Customizing widget for user-defined type
  • Delegate and mapper for dataclass widget

The following Qt bindings are supported:

Usage

Here is a simple dataclass:

from dataclasses import dataclass

@dataclass
class DataClass:
    a: int
    b: bool

DaWiQ can build a widget from this dataclass. For PySide6 example,

from PySide6.QtWidgets import QApplication
from dawiq import dataclass2Widget
import sys

app = QApplication(sys.argv)
dataWidget = dataclass2Widget(DataClass)
dataWidget.show()
app.exec()
app.quit()

This widget can be mapped to item model for storing the data. More examples are provided in the documentation.

Installation

DaWiQ can be installed from PyPI.

$ pip install dawiq

To install from GitHub source, clone the repository with git and install with pip.

$ git clone https://github.com/JSS95/dawiq.git
$ cd dawiq
$ pip install .

DaWiQ does not specify the Qt binding requirement, therefore you must manually install one.

Documentation

DaWiQ is documented with Sphinx. Documentation can be found on Read the Docs:

https://dawiq.readthedocs.io/

If you want to build the document yourself, get the source code and install with [doc] option. Then go to doc directory and build the document.

$ pip install .[doc]
$ cd doc
$ make html

Document will be generated in build/html directory. Open index.html to see the central page.

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

dawiq-1.0.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

dawiq-1.0.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file dawiq-1.0.1.tar.gz.

File metadata

  • Download URL: dawiq-1.0.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for dawiq-1.0.1.tar.gz
Algorithm Hash digest
SHA256 98497722c39be2cb9cd21b00f4d43083fb6c4f39dd9cbd154f6f0dd94d1bd9ea
MD5 b1d9c620852ee910e2eaefdaeb3e825e
BLAKE2b-256 4edadf30cce6d57f1008cbf497bba4dec93dee94adda0b088992825313c9d4b5

See more details on using hashes here.

File details

Details for the file dawiq-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: dawiq-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for dawiq-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a401d5e86ca79849c58457a71227275a50b32c2da1c776ed08d031c9bb8fb61
MD5 348b7eb1607b1c1ff310ce6488df7aa2
BLAKE2b-256 c3dcdb86a1e44305122bd97c4f0a1390123ced21eb89d0a9bfe469c9bae9c6cd

See more details on using hashes here.

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