eqt


Nameeqt JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
SummaryA number of templates and tools to develop Qt GUIs with Python effectively
upload_time2025-02-03 11:22:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseApache-2.0
keywords qt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # eqt: Qt Elements

[![Tests](https://img.shields.io/github/actions/workflow/status/TomographicImaging/eqt/test.yml?branch=main&label=Tests&logo=GitHub)](https://github.com/TomographicImaging/eqt/actions?query=branch%3Amain) [![PyPI](https://img.shields.io/pypi/v/eqt.svg?logo=pypi&logoColor=white)](https://pypi.org/project/eqt) [![Conda](https://img.shields.io/conda/v/conda-forge/eqt.svg?label=conda-forge&logo=conda-forge)](https://anaconda.org/conda-forge/eqt)

Templates & tools to develop Qt GUIs in Python.

Some example classes are
1. `UIFormWidget`: a class to help creating Qt forms programmatically, useable in `QDockWidgets` and `QWidget`
2. `FormDialog`: a `QDialog` with a form inside with <kbd>OK</kbd> and <kbd>Cancel</kbd> buttons
3. `Worker`: a class that defines a `QRunnable` to handle worker thread setup, signals and wrap up

One use case is accepting a user input while running another task asynchronously (so that the UI is still responsive).

## Installation

Via `pip`/`conda`/`mamba`, i.e. any of the following:

- `python -m pip install eqt`
- `conda install -c conda-forge eqt`
- `mamba install -c conda-forge eqt`


#### Note:
`eqt` uses the [`qtpy`](https://github.com/spyder-ide/qtpy) abstraction layer for Qt bindings, meaning that it works with either PySide or PyQt bindings. Thus, the package does not depend on either. If the environment does not already have a Qt binding then the user *must* install either `pyside2` or `pyqt5`.

## Examples

See the [`examples`](examples) directory, e.g. how to launch a `QDialog` with a form inside using `eqt`'s [`QWidget`](examples/dialog_example.py) or [`FormDialog`](examples/dialog_example_2.py).

## Documentation
See [Documentation.md](./Documentation.md).

## Developer Contribution Guide
See [CONTRIBUTING.md](./CONTRIBUTING.md).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "eqt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Casper da Costa-Luis <casper.dcl@physics.org>",
    "keywords": "Qt",
    "author": null,
    "author_email": "Edoardo Pasca <edoardo.pasca@stfc.ac.uk>, Laura Murgatroyd <laura.murgatroyd@stfc.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/56/d3/8dae94cecfc9ad1dd1e7b9abc9de4da5e04bc2957f8157469265999b0cfc/eqt-2.0.0.tar.gz",
    "platform": null,
    "description": "# eqt: Qt Elements\n\n[![Tests](https://img.shields.io/github/actions/workflow/status/TomographicImaging/eqt/test.yml?branch=main&label=Tests&logo=GitHub)](https://github.com/TomographicImaging/eqt/actions?query=branch%3Amain) [![PyPI](https://img.shields.io/pypi/v/eqt.svg?logo=pypi&logoColor=white)](https://pypi.org/project/eqt) [![Conda](https://img.shields.io/conda/v/conda-forge/eqt.svg?label=conda-forge&logo=conda-forge)](https://anaconda.org/conda-forge/eqt)\n\nTemplates & tools to develop Qt GUIs in Python.\n\nSome example classes are\n1. `UIFormWidget`: a class to help creating Qt forms programmatically, useable in `QDockWidgets` and `QWidget`\n2. `FormDialog`: a `QDialog` with a form inside with <kbd>OK</kbd> and <kbd>Cancel</kbd> buttons\n3. `Worker`: a class that defines a `QRunnable` to handle worker thread setup, signals and wrap up\n\nOne use case is accepting a user input while running another task asynchronously (so that the UI is still responsive).\n\n## Installation\n\nVia `pip`/`conda`/`mamba`, i.e. any of the following:\n\n- `python -m pip install eqt`\n- `conda install -c conda-forge eqt`\n- `mamba install -c conda-forge eqt`\n\n\n#### Note:\n`eqt` uses the [`qtpy`](https://github.com/spyder-ide/qtpy) abstraction layer for Qt bindings, meaning that it works with either PySide or PyQt bindings. Thus, the package does not depend on either. If the environment does not already have a Qt binding then the user *must* install either `pyside2` or `pyqt5`.\n\n## Examples\n\nSee the [`examples`](examples) directory, e.g. how to launch a `QDialog` with a form inside using `eqt`'s [`QWidget`](examples/dialog_example.py) or [`FormDialog`](examples/dialog_example_2.py).\n\n## Documentation\nSee [Documentation.md](./Documentation.md).\n\n## Developer Contribution Guide\nSee [CONTRIBUTING.md](./CONTRIBUTING.md).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A number of templates and tools to develop Qt GUIs with Python effectively",
    "version": "2.0.0",
    "project_urls": {
        "changelog": "https://github.com/TomographicImaging/eqt/releases",
        "documentation": "https://github.com/TomographicImaging/eqt#readme",
        "repository": "https://github.com/TomographicImaging/eqt"
    },
    "split_keywords": [
        "qt"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da94400f8c13835cfb41576716baa269f081f1444dda7c82917c2e859595206a",
                "md5": "ca9deef63b77c580821b0ba79a2de639",
                "sha256": "d9fdc7af9ebd600357d594ab918a64d8368a2c9795607be32eee18dc3a188c35"
            },
            "downloads": -1,
            "filename": "eqt-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ca9deef63b77c580821b0ba79a2de639",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 33573,
            "upload_time": "2025-02-03T11:22:31",
            "upload_time_iso_8601": "2025-02-03T11:22:31.105244Z",
            "url": "https://files.pythonhosted.org/packages/da/94/400f8c13835cfb41576716baa269f081f1444dda7c82917c2e859595206a/eqt-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "56d38dae94cecfc9ad1dd1e7b9abc9de4da5e04bc2957f8157469265999b0cfc",
                "md5": "23b346a45a7fb0aecb649dbc0d06fbd1",
                "sha256": "e651b770408150bca2c3df341e2f0e6bf81695024b0f833d17942fd20373c14b"
            },
            "downloads": -1,
            "filename": "eqt-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "23b346a45a7fb0aecb649dbc0d06fbd1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 58423,
            "upload_time": "2025-02-03T11:22:32",
            "upload_time_iso_8601": "2025-02-03T11:22:32.192815Z",
            "url": "https://files.pythonhosted.org/packages/56/d3/8dae94cecfc9ad1dd1e7b9abc9de4da5e04bc2957f8157469265999b0cfc/eqt-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-03 11:22:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "TomographicImaging",
    "github_project": "eqt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "eqt"
}
        
Elapsed time: 1.03877s