19

我可以在网上找到的关于QtRuby的所有内容都使用 Qt 4,但当前的 Qt 版本是 5。这仅仅是文档没有赶上现实的问题,而 Qt 5 可以很好地与 QtRuby 一起工作吗?

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

4

2 回答 2

9

QtRuby

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

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

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

Ruby-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 的用户社区非常庞大。与在小型 QT/Ruby 社区中相比,查找示例或帮助解决 QML/JS 问题要容易得多。
  • Ruby-qml上的示例非常完整,可以演示入门所需的构造。
  • JS 可以用作 Ruby 和 Qt 之间的灵活“粘合逻辑”。
于 2016-01-09T23:25:59.200 回答
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 类。

这是ls解压最新的 tarball 后的快速操作:

lpapp ~/Downloads/qt4-qtruby-2.2.0/qtruby/src/lib $ ls
CMakeLists.txt  Qt  Qt.rb  Qt3.rb  Qt4.rb
于 2014-04-11T02:32:33.620 回答