6 ms·
What is it about Rust that makes porting QT different from any other language?
by david-cako 10y ago
What is it about Rust that makes porting QT different from any other language?
- mercurial 10y agoC++ is notoriously hard to bind. The only high-quality Qt bindings I know of are Python ones (Pyside).
- therecipe 10y agoshameless plug for my Go binding: https://github.com/therecipe/qt https://github.com/therecipe/qt it's still WIP though
- Siecje 10y agoWhat about PyQt5? Or does it work differently?
- jacmoe 10y agoPyQt5 does not seem to be maintained. The last couple of times I checked it, it was pretty dead: one maintainer with no time.
- ambrice 10y agoI think you have this backwards. PyQt5 is well maintained by a company that produces a GPL version and sells a commercially licensed version, which was Qt's original business model. Pyside was originally created by Nokia back when Nokia bought Qt, re-licensed it as LGPL, and needed LGPL python bindings. It's no longer maintained and only works with Qt4. Pyside 2 is a port of pyside to Qt 5 that seems to have some level of activity, but no releases..
- deleted 10y ago[deleted]
- sevensor 10y agoI think the Qt Company is trying to revive pyside, but they have a lot of catching up to do. Not sure if they plan to do an update on their bindings generator (Shiboken) too, or start from scratch on that front.
- jacmoe 10y agoYes, I actually do have this backwards .. in more than one way ..:P Sorry, I was thinking of Lua for Qt5 .. That was silly! And, it is a pity about PySide, it was a neat project. :(
- flukus 10y agoTemplatize the language, toolkit version and that could just about describe every binding of every c++ toolkit ever made.
- eql5 10y agoA recent one: Lisp (ECL) with QML integration: https://gitlab.com/eql/EQL5/wikis/home https://gitlab.com/eql/EQL5/wikis/home (see QML link: direct Lisp function calls from QML, examples of QML generation from Lisp).
- shmerl 10y agoHow did PyQt manage to solve this problem?
- sevensor 10y agoPyQt has a whole other project, called sip, in service to it. If I understand it correctly, sip generates the bindings semi-automatically with a lot of special cases for Qt. Compared to the other set of Python C++ library bindings I've used (Vtk), they're magnificent.
- mindv0rtex 10y agoAny tips you can give as far as starting to learn VTK, especially its Python bindings?
- sevensor 10y agoMy experience is with maintaining somebody else's code, so I learned by cutting myself on its sharp edges. My advice is to avoid if possible. Unlike Qt, you can't subclass Vtk objects in Python. Which is a huge pain, because the Vtk design is heavily object-oriented. The autogenerated documentation is pretty unhelpful. It looks like this: http://www.vtk.org/doc/nightly/html/classvtkSliderWidget.html http://www.vtk.org/doc/nightly/html/classvtkSliderWidget.htm.... Compare that with the magnificent Qt documentation: http://doc.qt.io/qt-5/qslider.html http://doc.qt.io/qt-5/qslider.html, and you'll see why I prefer working with Qt.