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.2.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.2-py3-none-any.whl (63.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c653bcf2cb0a1bbe666c0acda4d57a4b456094270ccac2f1b9cf3f549de83753
MD5 1077d537b116ee64a9ce33d269465c1d
BLAKE2b-256 c4645fd21a89f9d76722c4d05c56a895a6cc6ee35f4b1c856c6cf684ad72b528

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ezqt_widgets-2.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3cf0242dd0a19d5c33c2e937c2fbcd2ed2e4217e747144d559ec23720860660f
MD5 20ebcf6fe1f52d15f5f4a40700b4dd0e
BLAKE2b-256 4afa6d61d147b4cbc70776f1f244a0c4f20ba0eba5737353012eb3057e3adc17

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