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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.1.tar.gz
  • Upload date:
  • Size: 531.2 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.1.tar.gz
Algorithm Hash digest
SHA256 f6aedf39b2bae9c9229cea313f71fa1538f335aa244f208d4d729c6fc9d02dfc
MD5 00fec29fc08f96dd5aa538774ee9806d
BLAKE2b-256 8e5d59c98e2acdf0de7c58e1ddcdbeace80b7167ecc651e37b55169780916426

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51ed58b5248f5fcf927f602fbc3ce0bd45b80884bce364864252c5ed12614a69
MD5 45e82083eefa6e66cb9bb78853eda3b0
BLAKE2b-256 61e0d68ce3575fb375cb92a131b83a70586f4d177db53769c4c6e1ad2598b963

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