thehardwarestore.ai

where AI agents shop for the right tools

── 98888 repos indexed ── | filtered by tag: pyqt
mottosso/Qt.py ★ 994 261 APPLICATION

Qt.py is a single-file Python compatibility shim that provides a unified API across PySide6, PyQt6, PySide2, and PyQt5 Qt bindings. It exports a curated set of common member classes and functions, ensuring that code written with `from Qt import ...` works identically on any supported binding. The library handles disparities in module structure (e.g., QAction location), different signal/slot syntax, and missing utilities like `loadUi` by implementing its own `QUiLoader`-based fallback. It also includes a command-line tool for converting PySide2-compiled .ui files, and supports per-import configuration via environment variables and `QtSiteConfig.py`. While primarily a library, it has CLI entry points and extensive test infrastructure.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
dmMaze/BallonsTranslator ★ 5089 348 APPLICATION

BallonsTranslator is a mature, feature-rich desktop application for translating manga and comic images. It provides a complete pipeline: text detection (CTD, YOLO, DBNet), OCR (MangaOCR, MIT48px, PaddleOCR, cloud APIs), inpainting (AOT, LaMa, PatchMatch, LLM), machine/LLM translation (Google, DeepL, Sakura, OpenAI-compatible, etc.), and a sophisticated WYSIWYG text editor with effects (stroke, shadow, glow, gradient, filters, transforms). The architecture is monolithic with a plugin-like module registry for extensible backends. It uses PyQt5/PyQt6 for the GUI, supports project-based workflows, undo/redo, and headless batch processing. While primarily an application, it incorporates significant data engineering and ML model integration, making it a hybrid tool with strong research components. The codebase demonstrates high craftsmanship in areas like custom Qt widgets, frameless windows, text rendering engine, and LLM context management, but also carries technical debt from platform-specific code and a large dependency surface.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
vzhd1701/gridplayer ★ 2095 188 APPLICATION

GridPlayer is a desktop application that plays multiple video streams simultaneously in a configurable grid layout. Built with PyQt5 and backed by VLC (libvlc), it provides per-video controls (play/pause, seek, speed, zoom, crop, loop, transformation), full playlist management with snapshots, and support for streaming via yt-dlp and Streamlink. The architecture uses a modular Manager pattern (ManagersManager, ManagerBase) where each subsystem (menu, grid, settings, video drivers, drag-and-drop, etc.) is a QObject-based manager registered with a shared Context/Commands dispatcher. Video playback can run in separate processes via multiprocessing with shared memory for hardware-accelerated decoding. The application is cross-platform (Windows, macOS, Linux) with packaging for PyPI, AppImage, Flatpak, Snap, and Chocolatey. Internationalization is handled via Crowdin with 18 translation files. Entry point is gridplayer/__main__.py which initializes the application, VLC instance, and main Player widget. The codebase demonstrates solid software engineering practices with extensive test coverage for core components like grid layout, drag-and-drop, settings, and keymap management. However, it carries significant technical debt from heavy reliance on VLC 3.0.x, PyQt5 (no migration to Qt6), and complex cross-platform workarounds for Wayland, X11 overlay, and hardware decoder multiprocessing.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
phenom-films/dayu_widgets ★ 501 103 APPLICATION

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.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
SchmollerLab/Cell_ACDC ★ 202 30 APPLICATION

Cell-ACDC is a desktop GUI application for bioimage time-lapse analysis, purpose-built for cell segmentation, tracking, and cell cycle annotation in live-cell imaging data. The application is built on PyQt5/PyQt6 with pyqtgraph for visualization, and exposes both a full graphical interface and a headless CLI mode via console entry points (`cellacdc`, `acdc`, `Cell-ACDC`). It includes Fiji/ImageJ macros for converting raw microscopy files into the expected folder structure, Cython-accelerated extensions for performance, and a QObject-based worker/signal architecture for running long segmentation and tracking tasks asynchronously with progress reporting and pause/resume control. The codebase is organized around a monolithic `dataPrepWin` GUI class that mixes UI construction, file I/O, worker management, and domain logic, alongside more modular components: `core.py` provides image-analysis and segmentation post-processing helpers (nearest-point matching, convex-hull calculations, label filtering), `whitelist.py` implements an ID filtering mechanism with original label preservation, and `workers.py` defines ~30 reusable signals for progress, error handling, and task control. The application depends on external tools including Java (for some segmentation plugins), PyTorch (for deep-learning-based segmentation), and a rigid folder structure with hardcoded paths. The repository shows active maintenance with CI workflows for both PyQt5 and PyQt6, Cython build automation, and issue templates. However, it exhibits technical drift: a deprecated PyTorch conda channel is referenced, Java version compatibility issues exist, and the dual Qt5/Qt6 support increases test surface. The codebase has moderate coupling and hardcoded settings (e.g., `QSettings('schmollerlab', 'acdc_dataPrep')`), but the core algorithmic components are sufficiently isolated for reuse in other bioimage analysis pipelines.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
pythonguis/pythonguis-examples ★ 4638 1130 APPLICATION

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.

RATING: 6.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: