dayu_widgets is a Python UI component library for PySide2/PySide6/PyQt5, inspired by Ant Design. It provides a cohesive set of themed widgets (buttons, inputs, tables, menus, dialogs, etc.) with light/dark themes and customizable primary colors. The architecture is modular: each widget lives in its own module, a central theme object applies QSS styling, and mixin decorators add cross-cutting behavior. The package is distributed via PyPI and includes a demo launcher (`python -m dayu_widgets`) plus 30+ example scripts. Under the hood, the library implements a QSS template engine with @-variable substitution, an AntDesign-based color palette generator, a Qt Model/View data layer with lazy loading and filtering, and a field-mixin data binding system. These components are the most reusable parts and demonstrate solid engineering. However, test coverage is limited to a subset of widgets, and the codebase contains numerous workarounds for Qt binding differences (PySide2 vs PySide6 vs PyQt5) that add fragility. The project is actively maintained with recent commits, CI, and semantic versioning.
This repository is a comprehensive collection of over 1000 Python GUI example applications and tutorials, spanning multiple frameworks: PyQt5, PyQt6, PySide2, PySide6, Tkinter, Kivy, DearPyGui, Flet, NiceGUI, and Streamlit. It serves as an educational resource for developers learning desktop GUI programming, with step-by-step tutorials and full demo applications like calculators, media players, web browsers, games (Minesweeper, Solitaire), paint programs, and data-driven apps (weather, currency, crypto). The codebase is organized by framework, with each framework containing tutorials, demos, and reusable custom widgets. While the examples are functional and well-documented, the repository suffers from massive duplication across Qt bindings (identical logic replicated four times with minor API adaptations), some deprecated API usage (e.g., QWebEnginePage.NavigationType in Qt6, fixer.io API endpoints), and occasional cross-binding import errors. The most valuable parts are the self-contained custom widgets in the widgets/ directories, which demonstrate clean signal-based design and can be extracted into other Qt projects with minimal modification.