On this page

Introduction to Qt Bridges

Note: This project is under development and does not aim to support every Qt use case initially.

Goal and motivation

What if you could write Qt Quick application backends in your favorite language without much Qt API?

This was the question that shaped the project goal and motivated its development.

Many frameworks for different languages force you to follow a specific idiom or structure that might feel unfamiliar or strange to code. This has been an aspect to improve in the many Qt Language bindings projects where you need to force the language to handle many Qt and C++ ideas.

Why not full Qt bindings?

It has been proven that complete Qt bindings can play a crucial role in the ecosystem, and that they are accepted as a professional approach to develop both commercial and community-based applications. However, it is important to note that the work to fully expose every Qt module, with all their classes, enums, properties, and methods, is significant, and it would require a multi-year effort to officially add more languages to the Qt offering.

Scope and supported use cases

The initial scope of the project is to provide a simple way to expose data via a backend in a specific target language to a Qt Quick application.

This can be also understood as a simple way to feed QAbstractItemModel-derived models in a more transparent way by annotating classes that will contain both the data and the functionality.

Note: There are many Qt Quick modules that contain C++ APIs that, for the scope of this project, will not be available.

Getting started

Different programming languages have different ways to get started with new frameworks. Qt Bridges is no exception.

You don't need Qt installed on your system to use Qt Bridges. The dependencies will be included in each language package.

In order to build each bridge to a specific Qt version, refer to the language instructions.

Follow the instructions for your preferred language here:

Implementation details

QML private API for runtime configuration

Developer notes

Adding new languages

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.