What does HackerNews think of qt?

Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly

Language: Go

#10 in Android
#13 in Go
#9 in Go
#6 in iOS
#23 in JavaScript
#16 in Linux
#15 in macOS
#2 in Qt
#4 in Raspberry Pi
#11 in Windows
> https://github.com/therecipe/qt

Do these not work? (Not a rhetorical question - I haven’t tried them.)

Thanks for mentioning, absolute game changer for me. I'm now using qtcreator with Go bindings: https://github.com/therecipe/qt

The multi-arch & especially Android deployment feature is exactly what I needed, I can skip using Android-Studio/HTML as UI now

You can try your luck with https://github.com/avelino/awesome-go#gui

I explored the landscape earlier this year when I was building a GUI version of a CLI tool written in Go. I was throughly disappointed by all the “native Go” and non-webview options — narrow selection of widgets with basic functionality missing, UIs ranging from lack of polish to horrendous looking (that makes Java GUIs look like godsend), lots of bugs, etc. I ended up using the Qt binding which, despite its own share of problems, at least worked fairly reliably and didn’t constantly get in my way in every way imaginable: https://github.com/therecipe/qt

I found two Go bindings for Qt:

https://github.com/kitech/qt.go

https://github.com/therecipe/qt

Both seem to be in active development. Does anybody have experience with either?

Didn't downvote your post above, so that wasn't me.

That aside, there are some resources around for this though I've not (yet) tried any of them:

* http://embd.kidoman.io - Go Embedded Programming Framework. Seems to support Raspberry Pi and BeagleBone Black.

* https://gobot.io - Robotics more than embedded, but there seems like some overlap. :)

---

With the "Why no desktop apps in Go?" question, for me it's because I'd only do so using something like Qt (cross platform).

While there have been several attempts to get usable Go bindings happening for Qt, none of them seem both really well done + long term stable.

The best developed Qt bindings so far are https://github.com/therecipe/qt. But that seems to have tapered off and the developer doesn't seem interested in making it into a team project (eg long term viability). That's my impression anyway, I could be wrong. :)

There are some glaring issues w/ the Rust Qt crates, namely subclassing things like QWidget. But it is high priority [0]. This is essential for using Qt as many things are not "signals" but instead overridable protected methods. I started a embedded browser PoC [1] until I hit these limitations which forced me to use C++ [2].

And many other static langs (i.e. not-python) have issues with their Qt bindings (e.g. Go [3] which can't compile via MSVC which some things like the QtWebEngine stuff need). Sadly, for advanced UI (e.g. complex tree views, docking, etc) that is cross platform and looks native, Qt is all there is, and it's reliance on C++ makes it a bit tough to use across languages. A maintained C iface for Qt is really needed.

0 - https://github.com/rust-qt/cpp_to_rust/issues/53

1 - https://github.com/cretz/rust-qt_cef_poc

2 - https://github.com/cretz/qt_cef_poc

3 - https://github.com/therecipe/qt/

shameless plug for my Go binding: https://github.com/therecipe/qt it's still WIP though
The work in the Qt camp is simply amazing. I just wish there were more stable bindings out there for it outside of the official C++ one and PyQt (commercial or GPL, PySide 2 is not stable last I checked).

There's a promising Qt binding for Go[1] which I'm looking forwards to, but again, if I had to write an application and not want to struggle with the bindings I'm forced into the previously mentioned options.

[1] https://github.com/therecipe/qt