我可以在网上找到的所有内容 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
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top