QtRuby 可以与 Qt 5 一起使用吗?
题
我可以在网上找到的所有内容 QtRuby 使用Qt 4,但Qt当前版本是5。这仅仅是文档没有跟上现实的问题吗?Qt 5 可以与 QtRuby 一起正常工作吗?
如果您断言情况确实如此(Qt5 不受支持),那么请用证据来支持您的断言。
解决方案
QtRuby
Qtruby 和 korundum 已经多年没有维护了。要获得 qtruby 的维护版本,请将 qtbindings 安装为 ruby gem。
Qt绑定主页: https://github.com/ryanmelt/qtbindings/
另请参阅 https://github.com/ryanmelt/qtbindings/issues/131 有关支持 Qt5 的讨论。
Ruby-QML
Ruby-qml 是 Ruby 的 QML / Qt Quick 包装器。它提供 QML 和 Ruby 之间的绑定,使您能够使用 Qt5 来自 Ruby 的基于快速的 GUI。
与 QtRuby 相比,Ruby-QML 提供的绑定要精简得多。特别是无法直接访问 Qt 类的方法。当来自 QtRuby 时,这可能首先看起来是一个缺点。
当学习使用 Ruby-QML 时,很快就会发现优点超过了局限性:
- QML 和 JS 极大地补充了 UI 的静态和动态方面的描述和建模
- QML/JS 的用户社区非常庞大。与小型 QT/Ruby 社区相比,找到示例或帮助解决 QML/JS 问题要容易得多。
- 上的例子 Ruby-qml 已经非常完整地演示了开始所需的构造。
- JS 可以用作 Ruby 和 Qt 之间灵活的“粘合逻辑”。
其他提示
qtruby仅支持Qt 4。希望很快会改变,但这似乎是在写这个时的现实。
上次发布发生在两年半前发生的是写作的时间。可以在这里看到:
http://rubyforge.org/projects/korundum/
正如您所看到的,这也是Qt 4版本,因为它的名字说:qt4-qtruby-2.2.0
。
信息也来自他们过时的KDE Wiki在这里:
http://techbase.kde.org/development/languages/ruby
如果这仍然没有足够的证据,你可以调查代码,看看它不是绑定在该主要Qt变体中添加的Qt 5类。
以下是减少最新的tarball后的快速生成扫描码:
lpapp ~/Downloads/qt4-qtruby-2.2.0/qtruby/src/lib $ ls
CMakeLists.txt Qt Qt.rb Qt3.rb Qt4.rb
.