Работает ли QtRuby с Qt 5?

Все, что я могу найти в Интернете по QtRuby, использует Qt 4, но текущая версия Qt - 5. Это просто вопрос документации, не догоняющий реальность, где Qt 5 будет отлично работать с QtRuby?

Если вы утверждаете, что это так (то, что Qt5 не поддерживается), пожалуйста, подкрепляйте ваше утверждение доказательствами.

Ответы

Ответ 1

QtRuby

Qtruby и korundum не поддерживаются уже много лет. Чтобы получить поддерживаемую версию qtruby, установите qtbindings в качестве рубинового драгоценного камня.

Домашняя страница Qtbindings: https://github.com/ryanmelt/qtbindings/

Также см. https://github.com/ryanmelt/qtbindings/issues/131 для обсуждения поддержки Qt5.

Рубин-QML

Ruby-qml - это QML Quicktpack для Ruby. Он обеспечивает привязки между QML и Ruby и позволяет вам использовать Qt5 графический интерфейс Quick-based из Ruby.

Связывания, предоставляемые Ruby-QML, намного более компактны по сравнению с QtRuby. В частности, нет прямого доступа к методам классов Qt. Вначале это может показаться недостатком, когда вы отправляетесь из QtRuby.

При обучении использованию Ruby-QML быстро получается, что преимущества перевешивают ограничения:

  • QML и JS значительно дополняют описание и моделирование статических и динамических аспектов пользовательского интерфейса
  • Пользовательское сообщество QML/JS огромно. Намного легче найти примеры или помочь решить проблемы QML/JS, чем в крошечном сообществе QT/Ruby.
  • Примеры на Ruby-qml довольно полны, чтобы продемонстрировать конструкции, необходимые для начала работы.
  • JS может использоваться как гибкая "логика клеев" между Ruby и Qt.

Ответ 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 5, добавленные в этом основном варианте Qt.

Вот быстрый ls после распаковки последнего tarball:

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