mirror of
https://github.com/pyapp-kit/superqt.git
synced 2026-01-05 03:40:47 +01:00
commit 466fc7c19ace1343d23739e4058758cd21328511 Author: Talley Lambert <talley.lambert@gmail.com> Date: Wed Jun 2 20:22:38 2021 -0400 add deploy cond commit e9965e71490689935b61099225acc7f3bf5c2d48 Author: Talley Lambert <talley.lambert@gmail.com> Date: Wed Jun 2 20:20:45 2021 -0400 more precommit commit b39150b16d7d64a5530ec9a0e29e673e2b6ed0a4 Author: Talley Lambert <talley.lambert@gmail.com> Date: Wed Jun 2 19:52:42 2021 -0400 updating precommit commit d5018b38e7bc59f81cc161cca06fae829e493e3c Author: Talley Lambert <talley.lambert@gmail.com> Date: Wed Jun 2 19:42:32 2021 -0400 big reorg
55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# Contributing to this repository
|
|
|
|
This repository seeks to accumulate Qt-based widgets for python (PyQt & PySide)
|
|
that are not provided in the native QtWidgets module.
|
|
|
|
## Clone
|
|
|
|
To get started fork this repository, and clone your fork:
|
|
|
|
```bash
|
|
# clone your fork
|
|
git clone https://github.com/<your_organization>/qwidgets
|
|
cd qwidgets
|
|
|
|
# install pre-commit hooks
|
|
pre-commit install
|
|
|
|
# install in editable mode
|
|
pip install -e .[dev]
|
|
|
|
# run tests & make sure everything is working!
|
|
pytest
|
|
```
|
|
|
|
## Targeted platforms
|
|
|
|
All widgets must be well-tested, and should work on:
|
|
|
|
- Python 3.7 and above
|
|
- PyQt5 (5.11 and above) & PyQt6
|
|
- PySide2 (5.11 and above) & PySide6
|
|
- macOS, Windows, & Linux
|
|
|
|
Until [qtpy](https://github.com/spyder-ide/qtpy) supports PyQt6/PySide6, imports
|
|
should use (and modify if necessary) `qwidgets.qtcompat`.
|
|
|
|
## Style Guide
|
|
|
|
All widgets should try to match the native Qt API as much as possible:
|
|
|
|
- Methods should use `camelCase` naming.
|
|
- Getters/setters use the `attribute()/setAttribute()` pattern.
|
|
- Private methods should use `_camelCaseNaming`.
|
|
- `__init__` methods should be like Qt constructors, meaning they often don't
|
|
include parameters for most of the widgets properties.
|
|
- When possible, widgets should inherit from the most similar native widget
|
|
available. It should strictly match the Qt API where it exists, and attempt to
|
|
cover as much of the native API as possible; this includes properties, public
|
|
functions, signals, and public slots.
|
|
|
|
## Testing
|
|
|
|
Tests can be run in the current environment with `pytest`. Or, to run tests
|
|
against all supported python & Qt versions, run `tox`.
|