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.post3.tar.gz (510.9 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.post3-py3-none-any.whl (465.8 kB view details)

Uploaded Python 3

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

Hashes for ezqt_widgets-2.2.3.post3.tar.gz
Algorithm Hash digest
SHA256 a2782341fb9837d0d2d59886b174128f65b076b2aeba8e6b0fe9e5a68315141a
MD5 6635a83237151a40f6a89b9809450204
BLAKE2b-256 58d736e25818c99af862670f790bf435d2e67cd278aae31a26fb5b1dc5f56f07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ezqt_widgets-2.2.3.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 c1e4787edc2cfebbc6def1bd7aadf7a5e2b5c36efe71f57915addc8b6f46392c
MD5 2aa0fc66b9710eecbb3328255fc5be91
BLAKE2b-256 f62921d73494a120a91e6c84ce427574c5d996647e49e77b53bd26c5b6c81d7b

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