Skip to main content

Une collection de widgets Qt personnalisés et réutilisables pour PySide6. Fournit des composants graphiques avancés, réutilisables et stylés pour faciliter le développement d'interfaces modernes et ergonomiques.

Project description

🎨 EzQt_Widgets

Une collection de widgets Qt personnalisés et réutilisables pour PySide6.

📦 Installation

pip install ezqt_widgets

🚀 Utilisation Rapide

from PySide6.QtWidgets import QApplication
from ezqt_widgets.button import IconButton, DateButton, LoaderButton
from ezqt_widgets.label import ClickableTagLabel, FramedLabel, HoverLabel, IndicatorLabel
from ezqt_widgets.input import AutoCompleteInput, SearchInput, PasswordInput
from ezqt_widgets.misc import CircularTimer, OptionSelector, ToggleIcon, ToggleSwitch

app = QApplication([])

# Widgets bouton
icon_btn = IconButton(icon="path/to/icon.png", text="Mon Bouton")
date_btn = DateButton(date="2024-01-01")
loader_btn = LoaderButton(text="Charger...")

# Widgets label
tag_label = ClickableTagLabel(name="Tag Cliquable")
framed_label = FramedLabel(text="Label Encadré")
hover_label = HoverLabel(text="Label avec Hover")
indicator_label = IndicatorLabel(status="online")

# Widgets input
search_input = SearchInput(placeholder="Rechercher...")
password_input = PasswordInput(placeholder="Mot de passe")

# Widgets misc
timer = CircularTimer(duration=60)
toggle_switch = ToggleSwitch(checked=True)

app.exec()

📚 Documentation

🧪 Tests

Exécution des Tests

# Tous les tests
python tests/run_tests.py --type unit

# Tests spécifiques
python -m pytest tests/unit/test_button/ -v
python -m pytest tests/unit/test_label/ -v

Documentation des Tests

📊 Statistiques des Tests

  • Widgets Bouton : 59 tests (56 passent, 3 skipped)
  • Widgets Label : 70 tests (67 passent, 3 skipped)
  • Widgets Input : 112 tests (111 passent, 1 skipped)
  • Widgets Misc : 41 tests ✅
  • Tests de Base : 3 tests ✅
  • Total : 262 tests (254 passent, 8 skipped)

🎯 Widgets Disponibles

Boutons

  • IconButton - Bouton avec icône personnalisable
  • DateButton - Sélecteur de date avec calendrier
  • LoaderButton - Bouton avec états de chargement

Labels

  • ClickableTagLabel - Tag cliquable avec toggle
  • FramedLabel - Label avec cadre personnalisable
  • HoverLabel - Label avec effets au survol
  • IndicatorLabel - Indicateur de statut avec LED

Inputs

  • AutoCompleteInput - Champ de saisie avec autocomplétion
  • SearchInput - Champ de recherche avec historique
  • TabReplaceTextEdit - Éditeur de texte avec remplacement de tabulations
  • PasswordInput - Champ de mot de passe avec barre de force

Misc

  • CircularTimer - Timer circulaire avec animation
  • OptionSelector - Sélecteur d'options avec interface moderne
  • ToggleIcon - Icône basculante avec états multiples
  • ToggleSwitch - Interrupteur moderne avec animation

🔧 Développement

Structure du Projet

ezqt_widgets/
├── README.md              # Ce fichier
├── docs/                  # Documentation
│   ├── README.md         # Index de documentation
│   ├── STYLE_GUIDE.md    # Guide de style
│   ├── CHANGELOG.md      # Historique des versions
│   ├── QUICK_START_TESTS.md # Guide rapide des tests
│   └── tests/            # Documentation des tests
├── tests/                # Tests
│   ├── run_tests.py      # Script d'exécution des tests
│   ├── conftest.py       # Configuration pytest
│   └── unit/             # Tests unitaires
├── ezqt_widgets/         # Code source
└── pyproject.toml        # Configuration du projet

Installation pour Développement

git clone <repository>
cd ezqt_widgets
pip install -e .
pip install -e ".[dev]"

📄 Licence

Ce projet est sous licence MIT. Voir LICENSE pour plus de détails.


État des tests : 🟢 OPÉRATIONNEL (254/262 tests passent, 8 skipped)

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

ezqt_widgets-2.1.1.tar.gz (74.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezqt_widgets-2.1.1-py3-none-any.whl (52.2 kB view details)

Uploaded Python 3

File details

Details for the file ezqt_widgets-2.1.1.tar.gz.

File metadata

  • Download URL: ezqt_widgets-2.1.1.tar.gz
  • Upload date:
  • Size: 74.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for ezqt_widgets-2.1.1.tar.gz
Algorithm Hash digest
SHA256 6b4bd4eb8e3bfcde452782994a7bc30858ca06f161dbf22cbc12e77a793d632e
MD5 2fc2fc02df6aecea9c9a6d1db1f7e16e
BLAKE2b-256 fa2fad457fea6b2ba9746e0690a0398c9bfd466263993609d20d9661f1b9823f

See more details on using hashes here.

File details

Details for the file ezqt_widgets-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: ezqt_widgets-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 52.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for ezqt_widgets-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27dc5aee5a1637be1be5b05934184b6c59f8f9ee025bbaba86f5d7163e47e499
MD5 9cdbdaf1f389e653d80981772c8a3c19
BLAKE2b-256 cd827bc087bca88d4551cf35df26e18f1261fbe8e00af34e559b719746e4afbd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page