-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt5 Support? #131
Comments
@goldhoorn: Please see Issue #94 for the answer to this question. |
Since development of the upstream qtruby/smoke has ended (at least mostly), I really should reorganize this code into a better understandable manner. At the high level is a library called Smoke, that reads the qt headers and makes a nice system for introspection that allows for dynamic languages like Ruby to look up methods and figure out which method would be best to call based on the data types passed to the function. The reason Qt5 is not supported is because Smoke does not work with Qt5 (I haven't researched why). There has been a little talk on the kdebindings mailing list about this, but noone has it working yet. I could probably get it working with a couple weeks of full time effort, but as I don't need it for the main reason I created this gem (Ball Aerospace COSMOS - http://cosmosrb.com), that is very unlikely to happen any time soon. As far as I can tell Qt5 is mainly focused on mobile platforms, and QML which I don't personally care too much about. It also has somewhat better Mac OSX support which may eventually justify the effort, but right now I am too busy with paying projects. Almost all of the qtbindings/qtruby C code is used to "marshal", ie convert ruby datatypes into C++ datatypes and to make the appropriate calls to the C++ library, and then marshal back to ruby data types. There is also a good amount of ruby code that primarily handles name conflicts between native ruby method names and Qt method names. |
@ryanmelt Thanks for the information. I wasn't suggesting that you actually do the Qt5 bindings, but the information you provided should be very helpful in getting me started, or at least understanding why Smoke and Qt5 don't play nicely together. By the way, the COSMOS program looks VERY cool! If you don't mind me asking, how did you do the graphs? Did you just use Qt's drawing capabilities? One of the reasons I was interested in Qt5 was because of the Qt Data Visualization module (http://doc.qt.io/QtDataVisualization/index.html) for drawing data plots. |
We just used the basic QT 4.8 methods to do all our graphing. It looks like the Qt Data Visualization module is all about 3D. Some of their plots are really cool. We do have support for OpenGL in COSMOS. Once you install it you can double click OpenGLBuilder.bat (on Windows) to see how it works. |
@ryanmelt: I looked again at the possibilities for Ruby bindings for Qt5. As far as I understand from the kde-bindings mailinglist, the problems with Qt5 and Smoke have not been resolved. Smoke was used to generate bindings for both Ruby and Python and on the Python side Smoke seems to have been abandoned for an alternative approach. It is not clear to me if this could also be used as the basis for Qt5 Ruby bindings. There is a separate GitHub project kitech/ruby-jit-qt aimed at Qt5 Ruby bindings using cllang/llvm, but this is still in an experimental stage and it uses a different class naming convention than Qt4. The alternative approach of using JRuby, qt_connect and QtJambi (the Java version of the Qt library) offers no solution, as QtJambi has not been developed beyond Qt 4.8. |
Hello guys, Thanks in advance, |
Hi Andre, Cees |
Dear @CeesZ, |
Will there ever be a qt5 version for the ruby-bindingy available?
qt5 got used and more even by system libs.
It not really possible to use a qtbindings which only supports qt4.
I'm only interested if there is a plan to support qt5 from your side?
The text was updated successfully, but these errors were encountered: