QtRuby是否适用于Qt 5?

时间:2014-04-11 02:18:12

标签: ruby qt qt5 qtruby

我在网上可以找到关于QtRuby的所有内容都使用Qt 4,但Qt的当前版本是5.这仅仅是文档没有赶上现实的问题,Qt 5可以在QtRuby上运行得很好吗?

如果你断言是这种情况(Qt5不受支持),那么请用证据备份你的断言。

2 个答案:

答案 0 :(得分:6)

QtRuby

Qtruby和korundum现在已经多年没有维护了。要获得qtruby的维护版本,请将qtbindings安装为ruby gem。

Qtbindings主页:https://github.com/ryanmelt/qtbindings/

另见https://github.com/ryanmelt/qtbindings/issues/131有关支持Qt5的讨论。

红宝石QML

Ruby-qml是Ruby的QML / Qt Quick包装器。它提供了QML和Ruby之间的绑定,使您可以使用Ruby中的 Qt5 基于Quick的GUI。

与QtRuby相比,Ruby-QML提供的绑定更加精简。特别是没有直接访问Qt类的方法。当来自QtRuby时,这可能首先似乎是一个劣势。

当学习使用Ruby-QML时,很快发现优势超过了限制:

  • QML和JS极大地补充了描述和建模UI的静态和动态方面
  • QML / JS的用户社区非常庞大。找到示例或帮助解决QML / JS问题比在微小的QT / Ruby社区中更容易。
  • Ruby-qml上的示例非常完整,可以演示开始所需的构造。
  • JS可以在Ruby和Qt之间用作灵活的“胶合逻辑”。

答案 1 :(得分:5)

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后,这是一个快速的ls

lpapp ~/Downloads/qt4-qtruby-2.2.0/qtruby/src/lib $ ls
CMakeLists.txt  Qt  Qt.rb  Qt3.rb  Qt4.rb