Electrum is a mature, production-grade Bitcoin wallet with full Lightning Network support, used by thousands of users daily. It is a desktop/mobile application with a daemon architecture, offering three GUI frontends: a full-featured PyQt6 desktop interface, a Qt Quick (QML) mobile interface, and a curses terminal interface. The daemon manages wallet lifecycle, network connections, and exposes a JSON-RPC API. The codebase is highly modular, with a plugin system for hardware wallets (Trezor, Ledger, Coldcard, KeepKey, Jade, BitBox02, Safe-T, Digital Bitbox), label sync, two-factor authentication, submarine swaps, watchtowers, and more. Core features include SPV (Simple Payment Verification) with merkle proof validation, coin selection with privacy-aware heuristics (CoinChooserPrivacy), BIP32 key derivation, mnemonic seeds (BIP39, SLIP39, legacy), and a full Lightning Network implementation with pathfinding (LNPathFinder using Dijkstra with liquidity hints), channel management, HTLC accounting, trampoline routing, and onion messages. The repository also includes deterministic build scripts for Linux (AppImage), Windows (Wine+PyInstaller), macOS, and Android (python-for-android), with reproducible builds using pinned dependencies and hash verification.
QGroundControl (QGC) is a professional-grade, cross-platform ground control station for MAVLink-enabled unmanned aerial vehicles (UAVs), supporting both PX4 and ArduPilot autopilots. It provides full flight control, real-time telemetry monitoring, mission planning with complex survey/scan patterns, video streaming with hardware-accelerated decoding (D3D, Vulkan, DMABuf), log analysis (ULog, DataFlash), and vehicle configuration wizards. The architecture is a monolithic Qt/C++17 application with a QML-based UI, organized around a plugin system for firmware-specific features, a custom state machine framework for async workflows, and a type-safe Fact system for parameter management. It also includes extensive CI/CD infrastructure, a comprehensive test suite, and support for Android, iOS, macOS, Windows, and Linux. The repository is hybrid in that it contains documentation (vitepress), Python tooling for CI/code generation, and data-oriented log parsers, but its dominant character is a complex desktop/mobile application.
GammaRay is a mature runtime introspection and manipulation tool for Qt applications, not a data or research project. In production it injects a probe into a target Qt process via a launcher that supports preload, GDB/LLDB, and Windows DLL injection, then connects a Qt Widgets client either in-process or over TCP. The probe tracks QObjects, exposes their properties, signals/slots, object trees, widget hierarchies, QML scene graphs, model/view contents, state machines, network activity, and even records and replays QPainter command streams. The core machinery uses a custom client-server protocol built around Endpoint, ObjectBroker, remote models, and network-synchronized selection models, with lazy-loading proxy models on the client side. The architecture is modular: a shared protocol layer in common/, a server-side core with property adaptors, tool managers, and remote model servers, a client UI layer, and dozens of plugin-based inspectors. Each plugin follows a consistent pattern - a server-side tool, a client-side widget, and interface classes registered through the ObjectBroker. The codebase shows strong engineering discipline: consistent abstractions, extensive Qt Test based tests, CI workflows for multiple Qt versions and sanitizers, and careful handling of cross-process model synchronization. The main technical risk is heavy use of Qt private APIs (e.g., QPaintBuffer, QQuickItemPrivate, QObjectPrivate) and vendored third-party code, which creates fragility across Qt releases and platform-specific maintenance overhead. Overall this is a well-crafted, complex desktop application. It is not a general-purpose library; most of its value for reuse lies in its plugin patterns and a few isolated Qt utility components. The generic, low-coupling pieces like PropertyBinder, SearchLineController, DeferredTreeView, and UIStateManager can be lifted into other Qt projects with minimal modification.
HyprQuickFrame is a native screenshot utility for Hyprland built using the Quickshell framework. It provides an overlay-based UI for capturing screenshots in region, window, or full-screen modes, with options to edit, save to disk, copy to clipboard, or share via KDE Connect. The application features shader-based dimming, animated transitions, and dynamic theme synchronization with wallpapers via Noctalia. The architecture centers around a QML application shell that manages state and delegates to specialized UI components (RegionSelector, WindowSelector, ControlBar, etc.). Screenshot capture is performed by spawning external processes (grim, wl-clipboard, editors) based on the selected mode. The theme system allows users to customize colors and animations via a TOML file, with a Python script available to sync colors from Noctalia-generated palettes. Key reusable components include a custom animated toggle button (QuickToggle.qml), a segmented control bar (ControlBar.qml), a TOML-based theme parser (Theme.qml), and a Noctalia theme synchronization script (sync_theme.py). These components are designed with minimal dependencies and demonstrate advanced QML animation techniques and configuration patterns.
Gyroflow is a cross-platform desktop and mobile application for video stabilization using gyroscope and IMU data. It ingests telemetry from a wide range of cameras (GoPro, Sony, Insta360, DJI, Canon, RED, Blackmagic, etc.), applies lens distortion correction, rolling-shutter compensation, and smoothing algorithms, then exports stabilized video via FFmpeg with GPU acceleration. The architecture is a Rust core library (gyroflow-core) with a Qt/QML GUI, GPU backends (OpenCL, wgpu/Vulkan/Metal/DirectX, Qt RHI), and a rendering pipeline supporting hardware encoding. It also includes advanced features like optical-flow-based synchronization, lens calibration, adaptive zoom, and NLE plugin installation. The codebase is large and well-structured, with trait-based algorithm dispatch for distortion models, smoothing, optical flow, and pose estimation. It demonstrates strong engineering in GPU interop, signal processing, and computer vision. However, it uses a custom Rust-like dialect (macros that transpile to Rust/C++) which increases onboarding complexity, and there are many platform-specific conditionals and some unwrap-heavy error handling. The project is actively maintained with a large community and frequent updates.
This repository is the KDE Plasma Mobile shell, a full-featured mobile desktop environment for Linux phones and tablets. It provides a touch-optimized user interface including homescreens (Folio and Halcyon), a status bar, navigation panel, quick settings drawer, lock screen, notification system, volume OSD, and system settings modules. The architecture is a Plasma shell containment built on Qt 6, KDE Frameworks 6, and Wayland, with C++ backends for hardware interaction (sensors, display power management, flashlight, screen brightness) and QML frontends for all UI components. Key entry points include the shell package (org.kde.plasma.mobileshell), homescreen containments, KWin effects for task switching, KDED modules for APN autodetection and session startup, and an initial setup wizard. External dependencies include KDE Plasma libraries (plasma-workspace, kwin, plasma-nano, Kirigami), Qt 6, KWayland, NetworkManager, ModemManager, PulseAudio, and Solid. The codebase is actively developed with a large translation footprint and two parallel homescreen implementations, indicating ongoing feature work and some technical debt.
This repository implements 'Kara', a KDE Plasma 6 applet that functions as a desktop/workspace pager. It allows users to switch between virtual desktops or activities via a configurable widget that can display pills, text labels, or icons. The applet supports multiple highlight styles (line, square, full, full with line), scrolling and click interactions, and custom labeling with templates. The architecture consists of a C++ plugin providing the PagerModel and WindowModel (using KWin and TaskManager APIs) and QML files defining the user interface, representation components, and highlight overlays. The project is actively developed with 37 open issues and 327 stars, and is built for modern KDE Frameworks 6 and Qt6.
cool-retro-term is a desktop terminal emulator that simulates the visual appearance of vintage cathode-ray tube (CRT) monitors. It renders a real terminal session (via QMLTermWidget) with a chain of GPU shader effects including scanline patterns, bloom, screen curvature, burn-in, chromatic aberration, and frame reflections. The application is built with Qt 6 (QML and C++) and runs on Linux and macOS. It provides a rich settings interface for customizing all visual parameters, and ships with 14 built-in retro profiles (e.g., Amber, Green, Commodore 64, Apple II) and a curated collection of bitmap fonts to match authentic terminal looks. Architecturally, the C++ layer handles font management (FontManager), font list models, file I/O, and the main entry point. The QML layer composes the terminal window, tabs, settings panels, and the shader pipeline. Shaders are pre-compiled into .qsb files for 48+ combinations of effect flags, enabling smooth runtime switching without compilation latency. Persistent settings are stored in SQLite via a thin QML wrapper (Storage.qml). The application uses two Git submodules: qmltermwidget for the actual terminal emulation and KDSingleApplication for single-instance enforcement. Key entry points include app/main.cpp (C++ startup), app/qml/main.qml (QML root), and the shader fragment files in app/shaders/. External dependencies are Qt 6, QMLTermWidget, and KDSingleApplication. The build system is qmake (with a planned but not yet executed migration to CMake). Packaging is provided for AppImage, DMG, Debian, RPM, and Snap.
Linphone Desktop is a production-grade, cross-platform SIP softphone built on the Linphone C++ SDK and wrapped in a Qt6/QML user interface. It delivers audio/video calls, instant messaging (including group chat, file transfer, reactions, and ephemeral messages), conference scheduling, call recording, and presence management across Windows, macOS, and Linux. The architecture follows a strict MVVM split: model classes run on the Linphone SDK thread and expose Qt signals, while GUI-facing 'Core' classes live on the main thread and communicate with models via a custom SafeConnection template that enforces thread affinity. QML views bind directly to these cores, with list proxies (e.g., ListProxy, SortFilterProxy) providing paginated, filterable models for contact lists, call history, and chat logs. The codebase also integrates advanced features like OIDC/OAuth authentication, LDAP/CardDAV address book sync, end-to-end encryption (LIME/DTLS/SRTP), and system-level integrations (toast notifications, tray icons, screen-sharing, autostart) with per-platform backends. The repository is actively maintained with a modern build system (CMake), comprehensive GitLab CI pipelines (Linux, macOS, Windows, Squish GUI tests), and a substantial localization effort (multiple .ts files).
This repository is a curated bibliography and roadmap for Quantum Machine Learning (QML). It contains chronological lists of papers, books, and reviews from 2007 to 2026, organized into yearly markdown files. The content is entirely reference links with basic metadata. While there is no executable code, data pipelines, or analytical workflows, the repository serves as an authoritative, up-to-date resource for researchers entering or tracking the QML field. It also includes a workforce section and a separate reviews page. The repository is actively maintained with recent updates and follows a consistent structural pattern across years.