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

Repository PyPI Tests

A collection of custom and reusable Qt widgets for PySide6, designed to simplify the development of modern and intuitive graphical interfaces.

📦 Installation

pip install ezqt_widgets

🚀 Quick Start

from PySide6.QtWidgets import QApplication, QVBoxLayout, QWidget
from ezqt_widgets.button import DateButton
from ezqt_widgets.input import PasswordInput
from ezqt_widgets.misc import ToggleSwitch

app = QApplication([])
window = QWidget()
layout = QVBoxLayout()

# Create widgets
date_button = DateButton(placeholder="Select a date")
password_input = PasswordInput(show_strength=True)
toggle = ToggleSwitch(checked=True)

# Add to layout
layout.addWidget(date_button)
layout.addWidget(password_input)
layout.addWidget(toggle)

window.setLayout(layout)
window.show()
app.exec()

📚 Documentation

🎯 Available Widgets

🎛️ Buttons (3 widgets)

  • DateButton - Date picker with integrated calendar
  • IconButton - Button with icon support and optional text
  • LoaderButton - Button with integrated loading animation

⌨️ Inputs (4 widgets)

  • AutoCompleteInput - Text field with autocompletion
  • PasswordInput - Password field with strength indicator
  • SearchInput - Search field with history
  • TabReplaceTextEdit - Text editor with tab replacement

🏷️ Labels (4 widgets)

  • ClickableTagLabel - Clickable tag with toggle state
  • FramedLabel - Framed label for advanced styling
  • HoverLabel - Label with hover icon
  • IndicatorLabel - Status indicator with colored LED

🔧 Misc (5 widgets)

  • CircularTimer - Animated circular timer
  • DraggableList - List with draggable elements
  • OptionSelector - Option selector with animation
  • ToggleIcon - Toggleable icon open/closed
  • ToggleSwitch - Modern toggle switch with animation

Features

  • ✅ PySide6 Compatibility - All widgets based on PySide6
  • ✅ Type Hints - Complete type annotation support
  • ✅ Qt Signals - Native integration with Qt signal system
  • ✅ QSS Styles - Complete Qt stylesheet support
  • ✅ Accessibility - Accessibility features support
  • ✅ Animations - Smooth and configurable animations
  • ✅ Tests - Complete test suite (~246 tests, ~75% coverage)

🧪 Tests

Quick Execution

# Quick verification
python tests/run_tests.py --type unit

# Tests with coverage
python tests/run_tests.py --coverage

# Or use CLI (after pip install -e ".[dev]")
ezqt test --unit
ezqt test --coverage

Test Documentation

Statistics

  • Total : ~246 tests
  • Coverage : ~75%
  • Status : 🟢 OPERATIONAL

🔧 Development

Project Structure

ezqt_widgets/
├── README.md                    # This file
├── docs/                        # Documentation
│   ├── README.md               # Documentation index
│   ├── api/                    # API documentation
│   │   ├── README.md          # Navigation guide
│   │   ├── WIDGETS_DOCUMENTATION.md # Complete documentation
│   │   └── STYLE_GUIDE.md     # Style guide
│   └── tests/                  # Test documentation
│       ├── README.md          # Navigation guide
│       ├── TESTS_DOCUMENTATION.md # Complete documentation
│       └── QUICK_START_TESTS.md # Quick start guide
├── tests/                       # Tests
│   ├── run_tests.py           # Test execution script
│   ├── conftest.py            # Pytest configuration
│   └── unit/                  # Unit tests
├── ezqt_widgets/               # Source code
└── pyproject.toml              # Project configuration

Development Installation

git clone https://github.com/your-username/ezqt_widgets.git
cd ezqt_widgets
pip install -e ".[dev]"

# Verify CLI installation
ezqt --version
ezqt info

📄 License

This project is licensed under the MIT License. See LICENSE for details.


EzQt Widgets - Simplify the development of modern and intuitive Qt interfaces.

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.2.3.tar.gz (530.7 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.2.3-py3-none-any.whl (63.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.3.tar.gz
  • Upload date:
  • Size: 530.7 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.2.3.tar.gz
Algorithm Hash digest
SHA256 3ff141af4ae155ae7d43948b73b15dd5710b3ec1bb6c96812ddcef4b966430c7
MD5 02575728f968e2b368132fe3885871c4
BLAKE2b-256 b9188332069f2400d1f57ab55aa91cf64d472a51a91293422fec5dfc7afb8257

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.3-py3-none-any.whl
  • Upload date:
  • Size: 63.4 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.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fdd4062a2e0303dcd0e69806a6e4f79cf00d567203dc2216c5cca88fa2ad18b1
MD5 76c4409b145973a2efe25b84d7ee874b
BLAKE2b-256 8748cf33ea91fe370fb590b10a6e9989a6cc560ce300a0126328e70a84faf200

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