Name | EzQt-Widgets JSON |
Version |
2.2.3.post3
JSON |
| download |
home_page | None |
Summary | 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. |
upload_time | 2025-07-29 06:08:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.9 |
license | MIT |
keywords |
qt
pyside6
widgets
gui
interface
components
ui
desktop
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 🎨 EzQt Widgets
[](https://github.com/neuraaak/ezqt_widgets)
[](https://pypi.org/project/EzQt-Widgets/)
[](https://github.com/neuraaak/ezqt_widgets/actions)
A collection of custom and reusable Qt widgets for PySide6, designed to simplify the development of modern and intuitive graphical interfaces.
## 📦 **Installation**
```bash
pip install ezqt_widgets
```
## 🚀 **Quick Start**
```python
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](docs/README.md)** - Main documentation guide
- **[🎯 Widgets API](docs/api/WIDGETS_DOCUMENTATION.md)** - Complete documentation of all widgets
- **[🎨 Style Guide](docs/api/STYLE_GUIDE.md)** - QSS customization and best practices
- **[🧪 Tests](docs/tests/README.md)** - Test documentation and execution guide
- **[🖥️ CLI Documentation](docs/cli/README.md)** - Command-line interface guide
- **[📋 Changelog](CHANGELOG.md)** - 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**
```bash
# 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](docs/tests/QUICK_START_TESTS.md)** - Quick verification
- **[📖 Complete Documentation](docs/tests/TESTS_DOCUMENTATION.md)** - 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**
```bash
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](LICENSE) for details.
---
**EzQt Widgets** - Simplify the development of modern and intuitive Qt interfaces.
Raw data
{
"_id": null,
"home_page": null,
"name": "EzQt-Widgets",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": null,
"keywords": "qt, pyside6, widgets, gui, interface, components, ui, desktop",
"author": null,
"author_email": "Florian Salort <floriansalort@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/58/d7/36e25818c99af862670f790bf435d2e67cd278aae31a26fb5b1dc5f56f07/ezqt_widgets-2.2.3.post3.tar.gz",
"platform": null,
"description": "# \ud83c\udfa8 EzQt Widgets\r\n\r\n[](https://github.com/neuraaak/ezqt_widgets)\r\n[](https://pypi.org/project/EzQt-Widgets/)\r\n[](https://github.com/neuraaak/ezqt_widgets/actions)\r\n\r\nA collection of custom and reusable Qt widgets for PySide6, designed to simplify the development of modern and intuitive graphical interfaces.\r\n\r\n## \ud83d\udce6 **Installation**\r\n\r\n```bash\r\npip install ezqt_widgets\r\n```\r\n\r\n## \ud83d\ude80 **Quick Start**\r\n\r\n```python\r\nfrom PySide6.QtWidgets import QApplication, QVBoxLayout, QWidget\r\nfrom ezqt_widgets.button import DateButton\r\nfrom ezqt_widgets.input import PasswordInput\r\nfrom ezqt_widgets.misc import ToggleSwitch\r\n\r\napp = QApplication([])\r\nwindow = QWidget()\r\nlayout = QVBoxLayout()\r\n\r\n# Create widgets\r\ndate_button = DateButton(placeholder=\"Select a date\")\r\npassword_input = PasswordInput(show_strength=True)\r\ntoggle = ToggleSwitch(checked=True)\r\n\r\n# Add to layout\r\nlayout.addWidget(date_button)\r\nlayout.addWidget(password_input)\r\nlayout.addWidget(toggle)\r\n\r\nwindow.setLayout(layout)\r\nwindow.show()\r\napp.exec()\r\n```\r\n\r\n## \ud83d\udcda **Documentation**\r\n\r\n- **[\ud83d\udcd6 Complete Documentation](docs/README.md)** - Main documentation guide\r\n- **[\ud83c\udfaf Widgets API](docs/api/WIDGETS_DOCUMENTATION.md)** - Complete documentation of all widgets\r\n- **[\ud83c\udfa8 Style Guide](docs/api/STYLE_GUIDE.md)** - QSS customization and best practices\r\n- **[\ud83e\uddea Tests](docs/tests/README.md)** - Test documentation and execution guide\r\n- **[\ud83d\udda5\ufe0f CLI Documentation](docs/cli/README.md)** - Command-line interface guide\r\n- **[\ud83d\udccb Changelog](CHANGELOG.md)** - Version history\r\n\r\n## \ud83c\udfaf **Available Widgets**\r\n\r\n### \ud83c\udf9b\ufe0f **Buttons (3 widgets)**\r\n- **DateButton** - Date picker with integrated calendar\r\n- **IconButton** - Button with icon support and optional text\r\n- **LoaderButton** - Button with integrated loading animation\r\n\r\n### \u2328\ufe0f **Inputs (4 widgets)**\r\n- **AutoCompleteInput** - Text field with autocompletion\r\n- **PasswordInput** - Password field with strength indicator\r\n- **SearchInput** - Search field with history\r\n- **TabReplaceTextEdit** - Text editor with tab replacement\r\n\r\n### \ud83c\udff7\ufe0f **Labels (4 widgets)**\r\n- **ClickableTagLabel** - Clickable tag with toggle state\r\n- **FramedLabel** - Framed label for advanced styling\r\n- **HoverLabel** - Label with hover icon\r\n- **IndicatorLabel** - Status indicator with colored LED\r\n\r\n### \ud83d\udd27 **Misc (5 widgets)**\r\n- **CircularTimer** - Animated circular timer\r\n- **DraggableList** - List with draggable elements\r\n- **OptionSelector** - Option selector with animation\r\n- **ToggleIcon** - Toggleable icon open/closed\r\n- **ToggleSwitch** - Modern toggle switch with animation\r\n\r\n## \u2728 **Features**\r\n\r\n- **\u2705 PySide6 Compatibility** - All widgets based on PySide6\r\n- **\u2705 Type Hints** - Complete type annotation support\r\n- **\u2705 Qt Signals** - Native integration with Qt signal system\r\n- **\u2705 QSS Styles** - Complete Qt stylesheet support\r\n- **\u2705 Accessibility** - Accessibility features support\r\n- **\u2705 Animations** - Smooth and configurable animations\r\n- **\u2705 Tests** - Complete test suite (~246 tests, ~75% coverage)\r\n\r\n## \ud83e\uddea **Tests**\r\n\r\n### **Quick Execution**\r\n```bash\r\n# Quick verification\r\npython tests/run_tests.py --type unit\r\n\r\n# Tests with coverage\r\npython tests/run_tests.py --coverage\r\n\r\n# Or use CLI (after pip install -e \".[dev]\")\r\nezqt test --unit\r\nezqt test --coverage\r\n```\r\n\r\n### **Test Documentation**\r\n- **[\ud83d\ude80 Quick Start Guide](docs/tests/QUICK_START_TESTS.md)** - Quick verification\r\n- **[\ud83d\udcd6 Complete Documentation](docs/tests/TESTS_DOCUMENTATION.md)** - Detailed guide\r\n\r\n### **Statistics**\r\n- **Total** : ~246 tests\r\n- **Coverage** : ~75%\r\n- **Status** : \ud83d\udfe2 **OPERATIONAL**\r\n\r\n## \ud83d\udd27 **Development**\r\n\r\n### **Project Structure**\r\n```\r\nezqt_widgets/\r\n\u251c\u2500\u2500 README.md # This file\r\n\u251c\u2500\u2500 docs/ # Documentation\r\n\u2502 \u251c\u2500\u2500 README.md # Documentation index\r\n\u2502 \u251c\u2500\u2500 api/ # API documentation\r\n\u2502 \u2502 \u251c\u2500\u2500 README.md # Navigation guide\r\n\u2502 \u2502 \u251c\u2500\u2500 WIDGETS_DOCUMENTATION.md # Complete documentation\r\n\u2502 \u2502 \u2514\u2500\u2500 STYLE_GUIDE.md # Style guide\r\n\u2502 \u2514\u2500\u2500 tests/ # Test documentation\r\n\u2502 \u251c\u2500\u2500 README.md # Navigation guide\r\n\u2502 \u251c\u2500\u2500 TESTS_DOCUMENTATION.md # Complete documentation\r\n\u2502 \u2514\u2500\u2500 QUICK_START_TESTS.md # Quick start guide\r\n\u251c\u2500\u2500 tests/ # Tests\r\n\u2502 \u251c\u2500\u2500 run_tests.py # Test execution script\r\n\u2502 \u251c\u2500\u2500 conftest.py # Pytest configuration\r\n\u2502 \u2514\u2500\u2500 unit/ # Unit tests\r\n\u251c\u2500\u2500 ezqt_widgets/ # Source code\r\n\u2514\u2500\u2500 pyproject.toml # Project configuration\r\n```\r\n\r\n### **Development Installation**\r\n```bash\r\ngit clone https://github.com/your-username/ezqt_widgets.git\r\ncd ezqt_widgets\r\npip install -e \".[dev]\"\r\n\r\n# Verify CLI installation\r\nezqt --version\r\nezqt info\r\n```\r\n\r\n## \ud83d\udcc4 **License**\r\n\r\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\r\n\r\n---\r\n\r\n**EzQt Widgets** - Simplify the development of modern and intuitive Qt interfaces.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Une collection de widgets Qt personnalis\u00e9s et r\u00e9utilisables pour PySide6. Fournit des composants graphiques avanc\u00e9s, r\u00e9utilisables et styl\u00e9s pour faciliter le d\u00e9veloppement d'interfaces modernes et ergonomiques.",
"version": "2.2.3.post3",
"project_urls": null,
"split_keywords": [
"qt",
" pyside6",
" widgets",
" gui",
" interface",
" components",
" ui",
" desktop"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f62921d73494a120a91e6c84ce427574c5d996647e49e77b53bd26c5b6c81d7b",
"md5": "2aa0fc66b9710eecbb3328255fc5be91",
"sha256": "c1e4787edc2cfebbc6def1bd7aadf7a5e2b5c36efe71f57915addc8b6f46392c"
},
"downloads": -1,
"filename": "ezqt_widgets-2.2.3.post3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2aa0fc66b9710eecbb3328255fc5be91",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 465786,
"upload_time": "2025-07-29T06:08:43",
"upload_time_iso_8601": "2025-07-29T06:08:43.492438Z",
"url": "https://files.pythonhosted.org/packages/f6/29/21d73494a120a91e6c84ce427574c5d996647e49e77b53bd26c5b6c81d7b/ezqt_widgets-2.2.3.post3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "58d736e25818c99af862670f790bf435d2e67cd278aae31a26fb5b1dc5f56f07",
"md5": "6635a83237151a40f6a89b9809450204",
"sha256": "a2782341fb9837d0d2d59886b174128f65b076b2aeba8e6b0fe9e5a68315141a"
},
"downloads": -1,
"filename": "ezqt_widgets-2.2.3.post3.tar.gz",
"has_sig": false,
"md5_digest": "6635a83237151a40f6a89b9809450204",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 510901,
"upload_time": "2025-07-29T06:08:45",
"upload_time_iso_8601": "2025-07-29T06:08:45.263547Z",
"url": "https://files.pythonhosted.org/packages/58/d7/36e25818c99af862670f790bf435d2e67cd278aae31a26fb5b1dc5f56f07/ezqt_widgets-2.2.3.post3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 06:08:45",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ezqt-widgets"
}