QtRuby能与Qt 5一起使用吗?

19

我在网上找到的有关QtRuby的所有信息都是使用Qt 4,但当前版本是Qt 5。这只是文档没有跟上现实的问题,Qt 5与QtRuby一样可以很好地工作吗?

如果你断言这是情况(即不支持Qt5),请提供证据支持你的断言。


问题不够清晰。请确保您不仅仅是要求一个明确的答案 - 就我目前的理解而言 - 而且还需要证明,即源代码级别最有可能。 - László Papp
由于问题不清楚,无法翻译。一旦您澄清了问题,我会将其翻译成中文。 - László Papp
@LaszloPapp:对于任何主张都提供证据是很正常的。这不是问题清晰度的问题。特别是因为我指出证据似乎表明Qt5不受支持,显然我需要一个坚实的理由来得出结论,而不仅仅是某人的推测或主张。 - iconoclast
感谢您的编辑,不过我想请您为“证据”这个词给出您的定义。目前尚不清楚您所要的证据是什么。我的回答是否足够明显?只有您自己知道... - László Papp
2个回答

10

QtRuby

QtRuby和Korundum多年来没有得到维护。要获得现在有人维护的qtruby版本,请安装qtbindings作为ruby gem。

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

此外,请参见https://github.com/ryanmelt/qtbindings/issues/131以了解有关支持Qt5的讨论。

Ruby-QML

Ruby-qml是用于Ruby的QML / Qt Quick封装器。它提供了QML和Ruby之间的绑定,并使您能够从Ruby使用Qt5基于Quick的GUI。

Ruby-QML提供的绑定与QtRuby相比更加简洁。特别是,没有直接访问Qt类的方法。当从QtRuby转移时,这可能首先似乎是一个不利因素。

学习使用Ruby-QML时,很快就会发现优势大于限制:

  • QML和JS非常适合描述和模拟UI的静态和动态方面
  • QML / JS的用户社区非常庞大。比在微小的QT / Ruby社区中找到示例或帮助解决QML / JS问题要容易得多。
  • Ruby-qml上的示例几乎完整,以演示开始所需的构造。
  • JS可以作为灵活的“粘合逻辑”在Ruby和Qt之间使用。

感谢您提供有用的信息。不幸的是,我认为您的一些评论对于想要使用qt的ruby用户来说并不是真正可行的。您提到了很多JS,但我们使用的是ruby-感觉好像我们被推到了qt和kde的二等公民。因为他们优先考虑JavaScript或Python。在我看来,这不是一个可行的模型。目前,我觉得ruby-gtk比ruby-qt生态系统更好。我仍然记得几年前rdale还很活跃,为qtruby做出了贡献...现在qtruby甚至没有足够的人手来从qt4过渡到qt5。 - shevy

5

目前,QtRuby仅支持Qt 4。希望不久的将来会有所改变,但在撰写本文时,这似乎是现实。

截至本文撰写时,最后一次发布已经过去两年半。可以在此处查看:

http://rubyforge.org/projects/korundum/

正如其名称所示:qt4-qtruby-2.2.0,这也是一个Qt 4版本的发布。

这些信息也可以从他们过时的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

你是从经验中知道的吗?还是找到了权威来源?或者你只是从我提到的相同证据得出结论? - iconoclast
我不是那个给你点踩的人。我还没有点赞,因为我不确定你的答案是否比我在问题中提出的更有说服力。你能否在邮件列表上链接到一些东西?或者一个特定的代码片段,指定仅适用于Qt4?否则,似乎你得出了一个暂时的结论,这与我已经得出的结论差不多。 - iconoclast
是的,我知道你做出了一个坚定的断言(至少最初是这样,但“似乎”这个词对最初暗示的确定性产生了怀疑),但由于你没有支持它,我不知道它是否值得信赖。如果确实是一个可靠的答案,并且可以证明是可靠的,那么我会感激。但如果你认为我应该相信你说的话,那么我无法欣赏这种态度。 - iconoclast
@iconoclast:好的,我已经为你更新了,虽然我真的应该去做我的工作 :) - László Papp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接