2014-04-11 7 views
15

Alles, was ich online über QtRuby finden kann, verwendet Qt 4, aber die aktuelle Version von Qt ist 5. Ist das einfach eine Frage der Dokumentation nicht mit der Realität aufholen, wo Qt 5 würde gut mit QtRuby funktionieren?Arbeitet QtRuby mit Qt 5?

Wenn Sie bestätigen, dass dies der Fall ist (dass Qt5 nicht unterstützt wird), dann sichern Sie bitte Ihre Behauptung mit Beweisen.

+0

Die Frage ist nicht klar. Bitte stellen Sie sicher, dass Sie nicht nur nach einer bestimmten Antwort fragen - wie ich es derzeit verstehe -, sondern auch einen Beweis dafür, d. – lpapp

+0

Warum die Downvotes? – iconoclast

+0

weil die Frage unklar ist. Sobald Sie es klarer machen, werde ich es wieder in +1 verwandeln. – lpapp

Antwort

5

QtRuby

Qtruby und korundum nicht seit Jahren gepflegt. Um eine gewartete Version von qtruby zu erhalten, installiere qtbindings als Ruby-Juwel.

Qtbindings Homepage: https://github.com/ryanmelt/qtbindings/

Siehe auch https://github.com/ryanmelt/qtbindings/issues/131 für eine Diskussion über QT5 unterstützen.

Rubin-QML

Ruby-qml ist ein QML/Qt Schnell Wrapper für Ruby. Es bietet Bindungen zwischen QML und Ruby und ermöglicht es Ihnen, Qt5 Quick-basierte GUI von Ruby zu verwenden.

Die von Ruby-QML bereitgestellten Bindungen sind im Vergleich zu QtRuby wesentlich schlanker. Insbesondere gibt es keinen direkten Zugang zu den Methoden der Qt-Klassen. Das scheint zunächst ein Nachteil zu sein, wenn man von QtRuby kommt.

Beim Lernen Gebrauch verwenden Rubin-QML, stellt sich schnell heraus, dass die Vorteile, die Grenzen überwiegen:

  • QML und JS stark die statischen und dynamischen Aspekte der UI
  • zu beschreiben und zu modellieren ergänzen Die Benutzergemeinschaft von QML/JS ist riesig. Es ist so viel einfacher, Beispiele oder Hilfe zu finden, um QML/JS-Probleme zu lösen, als es innerhalb der winzigen QT/Ruby-Gemeinschaft war.
  • Die Beispiele auf Ruby-qml sind ziemlich vollständig, um die Konstrukte zu demonstrieren, die benötigt werden, um zu beginnen.
  • JS kann als flexible "Glue Logik" zwischen Ruby und Qt verwendet werden.
+0

Upvoted für nützliche Informationen. Leider denke ich, dass einige Ihrer Kommentare sich für Ruby-Benutzer, die qt verwenden wollen, als nicht wirklich brauchbar erweisen werden. Sie erwähnen eine Menge JS, aber wir verwenden Ruby - es fühlt sich an, als würden wir von Qt und Kde dazu gedrängt, ein Bürger zweiter Klasse zu werden. Da sie priorisieren auf Javascript - oder Python. Das ist kein praktikables Modell, um IMO zu verfolgen. An diesem Punkt fühle ich, dass Ruby-GTK in einer viel besseren Form als das Ruby-Qt-Ökosystem ist. Ich erinnere mich noch daran, dass Rdale vor Jahren für Qtruby aktiv war ... jetzt hat Qtruby nicht einmal mehr die Manpower, um von Qt4 zu Qt5 überzugehen. – shevy

5

QtRuby unterstützt zur Zeit nur Qt 4. Hoffentlich wird sich das bald ändern, aber dies scheint zur Zeit des Schreibens die Realität zu sein.

Die letzte Veröffentlichung geschah vor zweieinhalb Jahren als die Zeit, dies zu schreiben. Das kann hier gesehen:

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

Wie Sie sehen können, das ist auch eine Qt-4-Veröffentlichung wie der Name schon sagt: qt4-qtruby-2.2.0.

Diese Informationen werden auch von ihren veralteten KDE Wiki bekommen hier:

http://techbase.kde.org/Development/Languages/Ruby

Wenn dies noch nicht genug Beweis, können Sie den Code schauen Sie in sich, es zu sehen, ist nicht wirklich verbindlich Qt 5 Klassen hinzugefügt in dieser Haupt-Qt-Variante.

Hier ist eine kurze ls nach den neuesten Tarball Dekomprimieren:

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

Kennen Sie das aus Erfahrung? Oder hast du eine autoritative Quelle gefunden? Oder ziehen Sie nur die Schlussfolgerung aus den gleichen Beweisen, die ich erwähnt habe? – iconoclast

+0

Ich war nicht der Downvoter BTW. Ich bin noch nicht aufgeputscht, weil ich nicht sicher bin, ob Ihre Antwort schlüssiger ist als das, was ich bereits in die Frage gestellt habe. Kannst du etwas auf der Mailingliste verlinken? Oder ein bestimmtes Stück Code, der nur Qt4 spezifiziert? Ansonsten scheint es, als hättest du eine vorläufige Schlussfolgerung, die mehr oder weniger das ist, was ich bereits hatte. – iconoclast

+0

Ja, ich merke, dass Sie eine feste Behauptung machen (zumindest anfangs, aber das Wort "scheinen" Zweifel an der anfänglich implizierten Sicherheit), aber da Sie es nicht unterstützen, weiß ich nicht, ob es vertrauenswürdig ist. Wenn es sich tatsächlich um eine vertrauenswürdige Antwort handelt und das gezeigt werden kann, dann werde ich es zu schätzen wissen. Aber wenn du denkst, ich sollte dir einfach glauben, weil du das sagst, dann kann ich diese Einstellung nicht schätzen. – iconoclast