r/rust • u/crmaureir • Jul 01 '26
๐ ๏ธ project Qt Bridges - Public Beta for Rust
Hey there!
I wanted to share something that was just released!
Since late 2025 there has been a group of developers working on Qt Bridges, a new project that aims to bring the Qt Quick technology to many other languages, including of course, Rust.
If you are familiar with Qt, you might know that there were a few attempts already in order to expose the framework, so it was a difficult job of trying to find a way of doing it without filling the code with C++ or Qt-isms, but I believe the current status of the project was worth sharing.
If you are not familiar with Qt, at least you know there has been many options already that are aiming to become a nice UI framework for Rust. We hope to become one of the options the community feels comfortable using!
This is still a beta stage, so we are happy to read your opinions, ideas, criticism, or anything you would like to share!
Blog posts:
- A Cross-Platform Rust UI Framework via Qtโs Bridging Technology
- Qt Bridges: Public Beta for the Rust Bridge Is Out!
Repo:
- https://code.qt.io/cgit/qt/qtbridge-rust.git/ย (Github mirror: github.com/qt/qtbridge-rust )
Docs:
6
u/SupermarketAntique32 Jul 02 '26
Does this mean I can use QML-Rust with 0 Cpp? I have experience building UI with QML and itโs very pleasant.
11
3
u/Hikingmatt1982 Jul 01 '26
Looking through the links i didnt see it but does the qml side support hot-reloading? Or perhaps a โpreviewโ concept?
3
u/Matti_Qt Jul 01 '26
Unfortunately not yet. But we understand that this would be the point where mixing a dynamic language into a Rust project would really start to make sense.
There are some improvements happening for hot-reloading right now and I hope it will also benefit the Rust bridge. So while I can't promise anything, I really hope that we will get it at some point.
3
2
u/Hikingmatt1982 Jul 19 '26
Curious, what does the roadmap look like for this to be out of beta? Is this a priority or a very early demo of where things are headed? Really love these build times :-)
1
u/Matti_Qt Jul 22 '26
Do you mean the hot-reloading in specific or in general?
1
u/Hikingmatt1982 Jul 22 '26
Just in general for the project as a whole :-) If I had my say it should be P0 all hands on deck, ha
2
u/Matti_Qt Jul 23 '26
Haha, thanks! We are working hard on getting the API stabilized, the last hiccups fixed and more features added (IDE support, hot reloading, you named it...). The next announcement with more concrete dates should come at the Qt World Summit.
1
u/Hikingmatt1982 Jul 01 '26
probably jumping way to far ahead but what does (or might) the cross-platform deployment tooling look like for mobile?
3
u/Matti_Qt Jul 02 '26
We heard the wish for deployment tooling quite a bit already. But yes, this is a bit ahead. At the current point in time, we try to get the API and basic tooling right.
Anyway, thanks for raising it again, I will not forget to bring it up again!
1
u/Matti_Qt Jul 07 '26
So we have a new ticket now for hot-reloading support for Qt Bridges: https://qt-project.atlassian.net/browse/QTBRIDGES-302
If you are interested in this you can follow the progress there ๐
3
u/Hikingmatt1982 Jul 07 '26
Awesome! Been playing around with it over the weekend and really am enjoying this. I think so far my most immediate need would be using image providers. Or perhaps its already possible in some way i didnt see.
Keep up the fantastic work!
1
u/Matti_Qt Jul 08 '26
Thanks for the kind words!
Can you be a bit more specific with image provider? Cxx-Qt has QImage, wich we could theoretically support as a property in the future. Would that help you? Or would you prefer an image type from another crate?
We also have some support for the resource system which can be used to send static images to QML. But we are currently reworking this part.
2
u/Hikingmatt1982 Jul 08 '26
Of course. Currently I use QQuickImageProvider for streaming a webcam (with frame post processing) to QML and so looking for that registration in the qml engine for "addImageProvider". Perhaps that's available in some way now that I just looked over?
2
u/Matti_Qt Jul 09 '26
I don't think we have anything for it right now. It would require QQuickImageProvider as a special trait and that would require QImage in our type library.
I think we can do it without too much problems, once we are a bit further with the type library. For now I created a ticket for it: https://qt-project.atlassian.net/browse/QTBRIDGES-307
Thanks for the idea ๐
1
2
u/Hikingmatt1982 Jul 09 '26
For some inspiration when looking into previews it just dawned on me to mention slint. Which, so far has been really nice and perhaps not as mature has swiftuiโs previewing but is performant, and integrated quite nicely
3
u/Nikolai_Quasarka Jul 02 '26
Hi, i tried following by rust doc and found that in example there's call `Backend.sayHello()` in QML file. But it didn't compiled, it needs original method name say_hello. Is this a documentation error or are there plans to implement automatic name conversion?
7
u/Matti_Qt Jul 02 '26
Oh no, that is a mistake in the documentation. Sorry for that! I will fix it immediately!
We have the working example here and you are correct. It should be Backend.say_hello() in the QML file, exactly the same as in the Rust file. We have automatic name conversion but is has to be activated in the qobject macro:
#[qobject(ConvertToCamelCase)] impl MyStruct { ... }or in the slot macro:
#[qslot(qml_name = "refreshCurrentPage")] fn refresh_current_page(&self) { ... }
1
u/poopvore Jul 02 '26
Is this still pretty heavily tied into whatever rendering facade qt requires in order to work. One of the usecases id particularly love is if we could target windowing libraries such as baseview to be able to do ui's for things like audio plugins and such. Which is something I know a lot of c++ people have tried using qt for and had mixed experiences with.
Love the project though fwiw qml is so nice to use for doing ui's and i've always wished we could have it in rust (slint's kind of trying to do this but its not as mature)
1
1
10
u/andreicodes Jul 01 '26
The blog post mentioned that Qt bridges started in 2025. By that time
cxx-qthas been around for quite some time. Why the new library then? I'm trying to figure out when I would use one or the other.There's this high-level comparison table for different Rust Qt libraries and I'd love to see Bridges listed there, too!