MCPcopy Create free account
hub / github.com/KDAB/KDBindings

github.com/KDAB/KDBindings @v1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.0 ↗ · + Follow
452 symbols 706 edges 31 files 79 documented · 17% updated 11mo agov1.1.0 · 2024-08-28★ 3338 open issues

Browse by type

Functions 307 Types & classes 145
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

KDBindings

Reactive programming & data binding in C++

From plain C++ you get:

  • Signals + Slots.
  • Properties templated on the contained type.
  • Property bindings allowing reactive code to be written without having to do all the low-level, error prone plumbing by hand.
  • Lazy evaluation of property bindings.
  • No more broken bindings.
  • Totally stand-alone "header-only" library. No heavy Qt dependency.
  • Can still be used with Qt if you so wish.

Using KDBindings

KDBindings requires a C++ compiler with C++17 support.

Find more information at:

Compatibility with Qt

Because Qt defines emit as a keyword, Qt is by default incompatible with KDBindings, which uses emit as a function name.

This can only be fixed by defining QT_NO_EMIT or QT_NO_KEYWORDS and simply omitting emit in your Qt code.

To make this easy, KDBindings includes a CMake option: KDBindings_QT_NO_EMIT, which defines this for all dependents of KDBindings.

See also: #79

Contact

  • Visit us on GitHub: https://github.com/KDAB/KDBindings
  • Email info@kdab.com for questions about copyright, licensing or commercial support.

Stay up-to-date with KDAB product announcements:

Licensing

KDBindings is © Klarälvdalens Datakonsult AB and available under the terms of the MIT license.

Contact KDAB at info@kdab.com if you need different licensing options.

KDBindings includes these source files, also available under the terms of the MIT license:

Get Involved

Please submit your contributions or issue reports from our GitHub space at https://github.com/KDAB/KDBindings

Contact info@kdab.com for more information.

About KDAB

KDBindings is supported and maintained by Klarälvdalens Datakonsult AB (KDAB).

The KDAB Group is the global No.1 software consultancy for Qt, C++ and OpenGL applications across desktop, embedded and mobile platforms.

The KDAB Group provides consulting and mentoring for developing Qt applications from scratch and in porting from all popular and legacy frameworks to Qt. We continue to help develop parts of Qt and are one of the major contributors to the Qt Project. We can give advanced or standard trainings anywhere around the globe on Qt as well as C++, OpenGL, 3D and more.

Please visit https://www.kdab.com to meet the people who write code like this.

Core symbols most depended-on inside this repo

Shape

Method 250
Class 143
Function 57
Enum 2

Languages

C++100%

Modules by API surface

tests/doctest/doctest.h226 symbols
src/kdbindings/node.h37 symbols
src/kdbindings/signal.h29 symbols
tests/property/tst_property.cpp19 symbols
src/kdbindings/connection_handle.h19 symbols
src/kdbindings/property.h17 symbols
src/kdbindings/genindex_array.h16 symbols
src/kdbindings/binding.h14 symbols
tests/signal/tst_signal.cpp11 symbols
src/kdbindings/make_node.h8 symbols
src/kdbindings/binding_evaluator.h8 symbols
src/kdbindings/connection_evaluator.h7 symbols

For agents

$ claude mcp add KDBindings \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page