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.post1.tar.gz (531.5 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.post1-py3-none-any.whl (63.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.3.post1.tar.gz
  • Upload date:
  • Size: 531.5 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.post1.tar.gz
Algorithm Hash digest
SHA256 6e9b8774c46f473477d3a262bf3dd29278a0f992f44a083e8418631d4e6b347d
MD5 46e3f649230c4cb0c087fe738b28264a
BLAKE2b-256 d349ffc27e992987ec8cdec326b482d7397f855d47f7264c79ae2171e1ec45fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ezqt_widgets-2.2.3.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 01760f49490ecf1a5f7c4324e773261e97e04a78d6cdc2f0b1164f28510898ee
MD5 07c06f081c3b814774dcb297ef020da4
BLAKE2b-256 328a60d414c9a267212184ab9dea9570a93081c893314e302adcebffe190d0d3

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