{"id":19003642,"url":"https://github.com/mpaperno/maxlibqt","last_synced_at":"2025-09-06T06:46:28.914Z","repository":{"id":144830383,"uuid":"114327482","full_name":"mpaperno/maxLibQt","owner":"mpaperno","description":"A collection of C++ classes and QtQuick QML components for use with the Qt framework.","archived":false,"fork":false,"pushed_at":"2023-10-29T04:11:54.000Z","size":4460,"stargazers_count":25,"open_issues_count":2,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T18:25:33.719Z","etag":null,"topics":["code-library","cplusplus","cpp","qml","qml-components","qt","qt5","qtquick","qtquick-controls2","ui-components","widget-library","widgets"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpaperno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.GPL.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-12-15T04:33:15.000Z","updated_at":"2025-04-03T12:14:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"df762707-d006-4ef6-b24f-253251b6788c","html_url":"https://github.com/mpaperno/maxLibQt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpaperno/maxLibQt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaperno%2FmaxLibQt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaperno%2FmaxLibQt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaperno%2FmaxLibQt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaperno%2FmaxLibQt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpaperno","download_url":"https://codeload.github.com/mpaperno/maxLibQt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpaperno%2FmaxLibQt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273868151,"owners_count":25182423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-library","cplusplus","cpp","qml","qml-components","qt","qt5","qtquick","qtquick-controls2","ui-components","widget-library","widgets"],"created_at":"2024-11-08T18:19:44.988Z","updated_at":"2025-09-06T06:46:28.868Z","avatar_url":"https://github.com/mpaperno.png","language":"C++","readme":"# maxLibQt - C++ and QML code library for the *Qt*\u0026trade; framework.\n\nThis is a (growing) collection of somewhat random C++ classes and QtQuick QML modules for use with the [Qt](http://qt.io)\u0026trade; framework. \n\nThey are free to use in other open source projects under the terms of the GNU Public License (GPL).  For use in\ncommercial or other closed-source software, you need to contact me for a license agreement.  See the LICENSE.txt file.\n\nThe original target Qt library version was 5.2+. Newer components, and some that have been updated more recently,\nmay require a later version, at least 5.9 (if you run into something that could be made more backwards-compatible, \nlet me know). Most (if not all) of the C++ code requires C++11 at minimum.\n\nProject home: https://github.com/mpaperno/maxLibQt\n\n## C++ Components:\n\n* Core\n  * `AppDebugMessageHandler` - Custom debug/message handler class to work in conjunction with *qDebug()* family of functions.\n* Item Models\n  * `GroupedItemsProxyModel` - A proxy model (`QIdentityProxyModel` subclass) which allows a grouped tree-based item presentation of a flat table data model. Typically used for visually grouping items by some shared criteria, like a category or subject. Useful in a `QTreeView` or the `TreeComboBox` from this collection.\n* Layouts\n  * `OverlayStackLayout` - A QStackedLayout with additional features to allow stacks with \"floating\" overlay widgets, such as toolbars, buttons, \n  messages, etc., while still allowing interaction with exposed areas of the widget(s) underneath. Includes a functional image viewer example application.\n* Widgets\n  * `ActionPushButton` - A QPushButton which takes a default QAction, just like a QToolButton can.\n  * `BuddyLabel` - A QLabel with enhanced \"buddy\" capabilities like click redirect and tooltip inheritance.\n  * `CollapsingToolBar` - A QToolBar which toggles between _ToolButtonIconOnly_ and _ToolButtonTextBesideIcon_ styles based on available width.\n  * `ExportableTableView` - A QTableView with features to export data as plain text or HTML.\n  * `RoundedMessageBox` - A frameless QMessageBox implementation, fully stylable via CSS or QPalette.\n  * `ScrollableMessageBox` - A simple message box with a large scrollable area (a QTextEdit) for detailed text (including HTML formatting).\n  * `TimerEdit` - A time value line editor which accepts negative and large times (\u003e 23:59:59), suitable for a timer, etc.\n  * `TreeComboBox` - A QComboBox control which works with a tree-based data model \u0026 view, allowing drill-down selection of items.\n\n## QML Components:\n\n* Controls\n  * [`MLDoubleSpinBox`](maxLibQt::controls::MLDoubleSpinBox) - A SpinBox control which handles float/double number types to the desired precision, as well as large integers (within ECMAScript limits). Avoids the `int` size type limitation of the current QtQuick Controls (v2.0 - 2.4) SpinBox but still using the current theme styling (Fusion/Material/etc).\n  * [`MLHexSpinBox`](maxLibQt::controls::MLHexSpinBox) - A SpinBox control which allows editing integers in hexadeciaml format. Allows a wide range of numbers, including unsigned integers. Based on `MLDoubleSpinBox`.\n\n### Documentation:\n\nSome Doxygen-style documentation is embedded in the code and can be generated as either part of the CMake build or manually with the\nincluded Doxyfile (run `doxygen doc/Doxyfile` in root of this project). To generate docs for *QML code* you'd need to use install [doxyqml](https://github.com/agateau/doxyqml) (the Doxyfile is already configured to use it if you have it). Some of the source code is further documented inline (but never enough).\n\nThis documentation is also published at https://mpaperno.github.io/maxLibQt/\n\n### Building (C++):\n\nBoth *CMake* and *qmake* project files are provided. They're set up to be built as individual libraries split by base folder (core, item models, etc). With CMake you can also build one library file which contains all the others (haven't figured out how to do that with qmake yet).\n\nYou can also simply include whichever C++ module(s) you need into your own project. They're standalone unless specifically mentioned otherwise in their docs.  There are also `.pri` *qmake* files for each source folder which could be used to quickly include all modules in that folder (and add to the `INCLUDEPATH`).\n\n### Using (QML)\n\nSimplest way to use the QtQuick modules would be to copy them into your code tree. \n\nTo use them as external (\"library\") imports in your code, put the `maxLibQt` folder (from inside the `/src/quick/` folder of this project) into the QML search path for your app. Then, for example to use `MLDoubleSpinBox`, you'd specify `import maxLibQt.controls 1.0` in your QML.\n\n-------------\n### Author\n\nMaxim Paperno   \nhttps://github.com/mpaperno/   \nhttp://www.WorldDesign.com/contact  \n\nPlease inquire about custom C++/Qt development work.\n\n### Copyright, License, and Disclaimer\n\nCopyright (c) Maxim Paperno. All rights reserved.\n\nSee LICENSE.txt file for license details.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \n\n*Qt* is a trademark of *The Qt Company* with which neither I nor this project have any affiliation.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpaperno%2Fmaxlibqt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpaperno%2Fmaxlibqt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpaperno%2Fmaxlibqt/lists"}