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.0.tar.gz (52.4 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.0-py3-none-any.whl (52.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ezqt_widgets-2.1.0.tar.gz
  • Upload date:
  • Size: 52.4 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.0.tar.gz
Algorithm Hash digest
SHA256 f5870061bb064a08ce1db67cd8f83e1a5b50952ce264d3f1f8f1fc318b2e4321
MD5 8190f2e0b98b6004ad0161a66b45ed4b
BLAKE2b-256 8f533f3be71129ad047f0b0e03244b6c5c117e9ab1e479999ec04a36e83aff98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ezqt_widgets-2.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 323019a15bb1fe947bf9e048d9f9cc60a6eafade0310941a4ef427d0c2c391a3
MD5 5fffda42604e794e4fef818abf96a5ca
BLAKE2b-256 10f3ba1be5f5a4a750b2fb412b3526807f15ad19b16994e50a520e8152fb4dff

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