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
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
- 📖 Complete Documentation - Main documentation guide
- 🎯 Widgets API - Complete documentation of all widgets
- 🎨 Style Guide - QSS customization and best practices
- 🧪 Tests - Test documentation and execution guide
- 🖥️ CLI Documentation - Command-line interface guide
- 📋 Changelog - Version history
🎯 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
- 🚀 Quick Start Guide - Quick verification
- 📖 Complete Documentation - Detailed guide
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ezqt_widgets-2.2.3.post3.tar.gz.
File metadata
- Download URL: ezqt_widgets-2.2.3.post3.tar.gz
- Upload date:
- Size: 510.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2782341fb9837d0d2d59886b174128f65b076b2aeba8e6b0fe9e5a68315141a
|
|
| MD5 |
6635a83237151a40f6a89b9809450204
|
|
| BLAKE2b-256 |
58d736e25818c99af862670f790bf435d2e67cd278aae31a26fb5b1dc5f56f07
|
File details
Details for the file ezqt_widgets-2.2.3.post3-py3-none-any.whl.
File metadata
- Download URL: ezqt_widgets-2.2.3.post3-py3-none-any.whl
- Upload date:
- Size: 465.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1e4787edc2cfebbc6def1bd7aadf7a5e2b5c36efe71f57915addc8b6f46392c
|
|
| MD5 |
2aa0fc66b9710eecbb3328255fc5be91
|
|
| BLAKE2b-256 |
f62921d73494a120a91e6c84ce427574c5d996647e49e77b53bd26c5b6c81d7b
|