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
from typing import Tuple

@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-0.3.1.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

dawiq-0.3.1-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dawiq-0.3.1.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for dawiq-0.3.1.tar.gz
Algorithm Hash digest
SHA256 78efa5bfbff4b37a7dfd801afb149a16b33c82a488cf32fa969daccddc39b128
MD5 59f0d06dc5ef789cec00b8522c4fe8c8
BLAKE2b-256 549ff4db8ea682824dceea750a3745eb1c751c61a3ee994c0359e5c0c2dedf6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dawiq-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for dawiq-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 403a30366d5733b26aa2faabef814ab7b238aad72adaf38528a560b12e282630
MD5 3bb2f06faa44aff3259942ae9903267d
BLAKE2b-256 6506a3c3e04c04ab0dd0ed5f48d037d0f454dbd9e2df3e590dca463f760c369c

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