QtRuby 可以与 Qt 5 一起使用吗?

Posted

技术标签:

【中文标题】QtRuby 可以与 Qt 5 一起使用吗?【英文标题】:Does QtRuby work with Qt 5? 【发布时间】:2014-04-11 02:18:12 【问题描述】:

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

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

【问题讨论】:

问题不清楚。请确保您不仅要求一个明确的答案 - 正如我目前所理解的那样 - 还要证明这一点,即最有可能的源代码级别。 因为问题不清楚。有一次,你说清楚了,我会把它改回 +1。 @LaszloPapp:为任何断言提供证据是正常的。这不是问题清晰度的问题。特别是因为我指出证据似乎表明 Qt5 不受支持,很明显我需要一个坚定的理由来得出结论,而不仅仅是某人的假设或断言。 感谢您的编辑,尽管我会定义“证据”对您意味着什么。目前还不清楚你在寻找什么证据。我的回答对你来说足够明显了吗?除了你谁知道... 【参考方案1】:

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 之间的绑定,使您能够使用 Qt5 来自 Ruby 的基于 Quick 的 GUI。

与 QtRuby 相比,Ruby-QML 提供的绑定要精简得多。特别是不能直接访问 Qt 类的方法。当来自 QtRuby 时,这首先似乎是一个缺点。

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

QML 和 JS 极大地补充了 UI 的静态和动态方面的描述和建模 QML/JS 的用户社区非常庞大。与在小型 QT/Ruby 社区中相比,查找示例或帮助解决 QML/JS 问题要容易得多。 Ruby-qml 上的示例非常完整,可以演示入门所需的结构。 JS 可以用作 Ruby 和 Qt 之间的灵活“粘合逻辑”。

【讨论】:

赞成提供有用的信息。不幸的是,我认为你的一些 cmets 对于想要使用 qt 的 ruby​​ 用户来说并不是真正可行的。你提到了很多 JS,但我们使用 ruby​​ - 感觉好像我们被 qt 和 kde 推动成为二等公民。因为他们优先考虑 javascript - 或 python。这不是追求 IMO 的可行模式。在这一点上,我觉得 ruby​​-gtk 的形态比 ruby​​-qt 生态系统要好得多。我还记得几年前 rdale 为 qtruby 活跃……现在 qtruby 甚至没有人力从 qt4 过渡到 qt5。【参考方案2】:

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

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

【讨论】:

您从经验中知道这一点吗?或者你找到了权威来源?还是您只是从我提到的相同证据中得出结论? 顺便说一句,我不是反对者。我只是还没有投票,因为我不确定你的答案是否比我已经提出的问题更具决定性。你能链接到邮件列表上的东西吗?还是仅指定 Qt4 的特定代码?否则,您似乎有了一个初步的结论,这或多或少是我已经拥有的。 是的,我意识到你做出了坚定的断言(至少在最初,但“似乎”这个词对最初暗示的确定性产生了怀疑),但由于你没有支持它,我不支持不知道是否值得信赖。如果它确实是一个值得信赖的答案并且可以证明是这样,那么我将不胜感激。但如果你认为我应该只是因为你这么说就相信你,那么我无法欣赏这种态度。 @iconoclast:好的,我为你更新了,虽然我真的应该做我的工作:)

以上是关于QtRuby 可以与 Qt 5 一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以为特定项目禁用 Qt 5.8 中的 QML 缓存吗?

可以将 QtConcurrent 与 Ruby (mingw-32) 一起使用吗?

是否可以将 Qt Creator 2.7 与 Visual Studio 2012 编译器一起使用并具有其所有功能?

JPA 可以与 EE 5 服务器一起使用吗

我可以将 Entity Framework Core 6 与 Windows 窗体一起使用(使用 .NET 5)吗?

Qt Ruby:动态创建表并从文本文件输入数据