Frage

Ich weiß, dass die Verwendung von QML ganz neu in QT ist, und ich habe mich gefragt, ob ich meine Anwendung entwerfen sollte QtDesigner oder QML verwenden. Ich werde ein MVC-Muster und meine größte Sorge verwenden, wenn ich QML für die GUI verwenden, ist, dass es nicht einfach, in der reste meiner C ++ App zu integrieren sein könnte.

Fühlen Sie sich frei, Ihren persönlichen Rat zu geben, würde ich es sehr schätzen. Vielen Dank!

War es hilfreich?

Lösung

QML ist in erster Linie für mobile Plattformen bestimmt ist. Aufgrund seiner Jugend und seine Sorge um die Konventionen abwechslungsreiche Plattform-Interface, fehlt es an Standard-Steuerelemente wie Schaltflächen und Kombinationsfelder (siehe aber die Komponenten Projekt). Wenn Sie auf Mobile sind, oder die Benutzeroberfläche erfordert einen sehr individuellen visuellen Stil, QML Macht eine Überlegung wert. Seien Sie bereit für eine Menge zusätzlicher Arbeit vorbereitet Custom Controls bei der Gestaltung. Die Integration von QML und C ++ ist immer noch ziemlich rau meiner Meinung nach. Ich persönlich würde empfehlen QML Verwendung nur für einfachere Anwendungen, nur auf mobile Plattformen, und nur mit JavaScript. Unter den richtigen Umständen könnte ich Schreiben von benutzerdefinierten QML Elemente in C ++ betrachten.

Qt C ++ API wird nicht so bald weg. Es ist auch mit dem Desktop konzipiert und wird eine bessere Arbeit der Treffen die Erwartungen der Benutzer auf Desktop-Plattformen tun. Wenn Sie auf dem Desktop sind, dann würde ich das Festhalten an C ++ empfehlen und Designer. Auch nach QML etwas reift, wird es wahrscheinlich nicht die richtige Lösung für die meisten Desktop-Anwendungen sein.

Update!

Es sieht aus wie die Dinge sind beginnen zu ändern. Ich habe nicht die neuen Komponenten selbst noch versucht, und Dokumentation scheint ein wenig spärlich (oder zumindest aus dem Weg), aber dies könnte die größte Barriere QML zur Verwendung auf dem Desktop schließlich entfernen. Es bleibt abzuwarten, ob diese Unterstützung auf lange Sicht erhalten werden, aber wenn Sie bereit sind, das Risiko, dass ein Early Adopter zu akzeptieren, ich denke, QML kann jetzt eine praktikable Wahl für Desktop-Anwendungen sein.

Andere Tipps

Es wäre wert ein bisschen QML zu testen versuchen, ob es Ihren Bedürfnissen entspricht.

Wenn Sie eine höchst individuelle UI bauen mit dynamischen Schnittstellen und Animationen dann paßt QML den Job; wenn Sie eine herkömmliche Desktop-Anwendung erstellen, dann werden Sie wahrscheinlich wollen mit der Qt C ++ API bleiben.

In Bezug auf die Integration von QML und C ++ ist QML entwickelt, um einfach mit C ++ Code zu integrieren, und viele QML-Anwendungen verwenden eine Art von C ++ Backend. Es ist einfach, C ++ Objekte in eine QML-Schnittstelle oder Schreib benutzerdefinierte QML Elemente in C ++ zu injizieren. Hier finden Sie aktuelle http://doc.qt.io/archives/qt- 4.7 / qtbinding.html und http: //doc.qt.io/archives/qt-4.7/qml-extending-tutorial-index.html .

Eine Sache, die von den oben genannten Antworten verpasst ist, dass QML den zusätzlichen Vorteil / Nachteil JavaScript für Geschäftslogik hat (falls erforderlich). Ich bin derzeit der Aufbau eine (kleine bis mittlere) Größe Anwendung für den Desktop und jetzt meine (2) alpha Benutzer genießen es. Ich bin mit der Ausdruckskraft des Rahmens beeindruckt und wie schnell kann ich es bekommen und getestet. Alles in allem ich es schneller arbeiten als mit einem RAD-Editor (Designer) finden, und ich genieße es, JavaScript als Ausweich auf meine UI, wenn ich ärgerlich Dinge wie Hover / Validierung etc ...

tue

Ich denke, es ist eine Frage, wie gut Sie mit der Sprache sind. Wenn C ++ ist Ihre Sprache „gehen“, als Sie wahrscheinlich die Designer bevorzugen. Wenn Sie aus dem Internet Wir schauen kommen (Beichte, ich bin ein Java EE-Ingenieur / MVC .NET Entwickler viel Frontend tun) Sie werden es erfrischend und schnell finden.

Es ermöglicht auch für einige Ansprechbarkeit, dass die Nutzer in diesen Tagen erwartet. Insgesamt würde ich ihm ein großes Plus geben. Probieren Sie es aus - ich wird wahrscheinlich eher gefallen und eher in dem gleichen Zeitrahmen verärgert. Ich bin immer noch wütend über ein paar Dinge (FileIO insbesondere), aber ich habe die GUI-Seite der Dinge in einer Art und Weise genießt ich selten auf dem Desktop tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top