Seite 1 von 1

Neus Projekt mit Qt Widget oder Qt Quick

Verfasst: 13. Dezember 2015 13:34
von ycronoy
Hallo liebe Qt-Gemeinde,

ich möchte ein neues Projekt starten und bin mir recht unsicher, ob es sich noch lohnt auf Qt Widget zu setzten oder ob man auf Qt Quick setzten sollte.
So weit ich das am Rand verfolgt habe, gibt es die Qt Quick schon eine ganze Weile und ich gehe mal da von aus, dass es inzwischen ausgereift ist.

Macht es noch Sinn bei einem neuem Projekt auf Qt Widget zu setzten? Gibt es besondere Vorteile von Qt Quick?

MfG
ycronoy

Re: Neus Projekt mit Qt Widget oder Qt Quick

Verfasst: 14. Dezember 2015 23:39
von softwaremaker
kommt darauf an, was du machen willst.
Qt Quick ist besonders für Mobile-Apps gedacht, also Touch-Bedienung und Animation. Qt Widgets sind eher für Desktop-Apps, also Maus-Bedienung.
Alles was du in Qt Quick machen kannst, kannst du irgendwie auch in Qt Widgets realisieren, andersrum ist das nicht so einfach. Eine umfangreiche klassische Desktop-App würde ich nicht mit Qt Quick realisieren, denn alle klassischen Controls hat Qt Quick nicht out-of-the-box bzw. nicht in dem Funktionsumfang.

Re: Neus Projekt mit Qt Widget oder Qt Quick

Verfasst: 15. Dezember 2015 17:48
von RHBaum
Eine umfangreiche klassische Desktop-App
auch die Frage was man unter "umfangreiche" versteht. In den Dimensionen in denen ich dabei denke, ist Qt und c++ generell auch eher keine Option ^^
Qt Widgets ist IMHO eher für kleine-mittlere Desktop Apps, eher Tools etc super geeignet^^ . Wo der/die das Ding implementieren Ahnung von C++ haben und sich eine Logic-Gui Bridge ned so lohnt.

Klar kann man auch größere Projekte stemmen, gehen tut das, nur ob man sich einen gefallen tut .... und obs anders ned effizienter wäre ....
und bin mir recht unsicher
Wenn hier so im Forum fragst, kriegst sicher von 3 Usern 5 Meinungen präsentiert :-)
Sag lieber was genau machen willst, was die Vorraussetzungen sind, was für Optionen du für später brauchst ... dann kann man einige Dinge eh ausschliessen und es wird einfacher ^^

Ciao ...

Re: Neus Projekt mit Qt Widget oder Qt Quick

Verfasst: 15. Dezember 2015 22:11
von MichaelS
Ich habe nach mehreren Widget-basierten Projekten vor wenigen Tagen mit einem kleinem QML-basierten (Desktop-)Projekt begonnen und ich war bereits mehrfach am Rande des Wahnsinns.

Die QML-Komponenten sind vom Funktionsumfang Meilen hinter den Widgets und viele Dinge, die mit Widgets einfach zu realisieren sind, erfordern mit QML einen riesigen Spagat. Richtig geärgert hatte ich mich dann, als ich einen Dialog für die Auswahl einer Datei benötigte und feststellen musste, dass die QML-Komponente FileDialog nur in Verbindung mit QApplication funktoniert. QApplication wiederum setzt das Linken gegen QtWidgets voraus. Und wenn ich sowieso gegen QtWidgets linken muss, hätte ich auch gleich bei den Widgets bleiben können.

Ich sehe bei QML auf dem Desktop eigentlich nur einen Vorteil: Ich habe eine echte Trennung zwischen GUI (die Dialoge sind in QML realisiert ) und Funktionaliät ( die Daten werden C++ - Klassen geliefert ). Die oben genannten Nachteile wiegen aber zumindest für um ein vielfaches schwerer, so dass ich wohl in absehbarer Zeit kein weiteres QML-Projekt starten werde.

Re: Neus Projekt mit Qt Widget oder Qt Quick

Verfasst: 16. Dezember 2015 10:10
von RHBaum
und ich war bereits mehrfach am Rande des Wahnsinns.
siehst, wir sind schon nen Schritt weiter :-) Willkommen in der Anstalt !

Ich kenn mich mit QML ehrlich auch ned so aus ...
denke aber softwaremaker hat vollkommen recht. QML ist eher eine Abstraktionsschicht weg von C++ mit dem Ziel die Basis einfach auszutauschen.
In anderen Worten, auf beliebig viele plattformen zu portieren und den mangel der ABI von C++ durch eine deklarative Scriptsprache zu kompensieren.

Ob man damit den großen wurf erzielt, keine Ahnung ....

Sich das anzutun macht nur Sinn, wenn die eigene Anwendung adhoc auf allen bzw meisten QML spezifizieren Plattformen laufen soll.

Soll deine App nur auf nem Desktop laufen, klar, ist QML einfach nur ne unnötige Abstraktionsschicht. Ausserdem kannst aufm Desktop mehr machen, was auf mobilen Plattform ned gehen würde, aka QML schränkt dich auch ein.

Der Vorteil ist aber aehnlich wie bei java(script) python und co ....
Interpretierte Sprache vs. compilierte Sprache ....
interpretierte sprachen laufen fast immer anstandslos auf allen plattformen ... wenn man keine Systemspezifischen besonderheiten verwendet.
compilierte sprachen lassen sich auch plattformunabhängig coden, aber es gehört mehr dazu beim programmieren (dank plattformunabhängiger libs nimemr so schlimm) und man muss für jede plattform seperat übersetzen, was meistens eine wüste Konfigurations-Management Orgie vorraussetzt.
Ich sehe bei QML auf dem Desktop eigentlich nur einen Vorteil: Ich habe eine echte Trennung zwischen GUI
Neeee, das kein Vorteil, sondern Pflicht bei größeren Projekten ... und geht auch ohne zusatzzeugs ^^
und für reinen Desktop gibts viel bessere Modelle da, wenn du das sprachlich trennen willst ....
z.b.
Gui in Java, JavaFX, C#, VB .... Logic in C++ ... bindung über Dlls

willst ganz bei C++ bleiben,
Gui in C++ mit Qt, wxWidgets, Mfc (nein lieber doch kein Mfc), Gtk (wenn man mehr Linux feeling haben will) .... Logic in C++ ... bindung über Dlls

Ciao ....