8 ms·
I've had similar issues with most GUI libraries. Seriously: if you can, try building your thing with tkinter. It's the standard lib, and will "work"
by rtpg 10y ago
I've had similar issues with most GUI libraries.
Seriously: if you can, try building your thing with tkinter. It's the standard lib, and will "work"
- lmm 10y agoI'm not going to port to tkinter. I like KDE, I like Qt Designer, and I have a working GUI. If tkinter is the only thing that works in Python I'll abandon the language (I mostly work in Scala these days anyway) and find one with working Qt bindings.
- 72deluxe 10y agoJust use C++ and your Qt bindings will never go away!
- lmm 10y agoQt is a point in C++'s favour, but not enough to outweigh the downsides of the language.
- flukus 10y agoCould you write your UI in c++ with custom bindings and have the rest of the app in python? Qt's binding support has been it's biggest issue since forever.
- lmm 10y agoMaybe, but I like using Python for the GUI too. It was really nice back when it worked.
- flukus 10y agoA project you might be interested in is libui (https://github.com/andlabs/libui https://github.com/andlabs/libui). I can't comment on it because I haven't used it and it's still quite young but it looks promising, it's on my radar to learn soon. Native widgets and written in c so the bindings should be stable. I've never written bindings for c++ but I'm guessing it's not easy because all the c++ toolkit bindings are unstable. It has quite a few bindings already, here are the python ones: https://github.com/joaoventura/pylibui https://github.com/joaoventura/pylibui .
- 72deluxe 10y agoWhat! There are no downsides to the language! I jest I love catching errors at compile time, not runtime :-) Plus, it runs faster
- lmm 10y agoI like catching errors at compile time. But C++'s unchecked manual memory management introduces more errors than the rest of the language eliminates, undefined behaviour turns all bugs into security bugs, there aren't first-class sum types (std::variant is finally on the way in but seems quite restricted; std::visit, while much better than what came before, is pretty cumbersome), and templates are cumbersome in syntax (and error reporting) and not as safe as they look thanks to partial specialization (which will be fixed by concepts if they ever actually make it into the language, but, well...). Along with plenty of less immediate problems (e.g. the lack of a module system). If there were an ML-family language with good Qt support I'd use that for my GUIs - I use ML-based languages for almost all my non-GUI work. There's plenty I dislike about Python but it's still the best desktop GUI experience I've found.