Qt Widgets vs. Qt Quick



  • Für ein Desktop-Programm, das in C++ geschrieben ist, brauche ich eine grafische Oberfläche. Ich habe mich für Qt entschieden.

    Nun bin ich mir nicht ganz sicher, ob ich Qt Widgets oder Qt Quick verwenden soll. Was sind die Vor- bzw. Nachteile der beiden?

    Ich habe natürlich bereits danach gegoogelt aber keine befriedigende Antwort erhalten. In gewissen Posts habe ich gelesen, dass Qt Quick zurzeit nicht ausgereift ist für Desktop Anwendungen (dieser Beitrag stammt allerdings aus dem Jahr 2011).

    Ich wäre sehr dankbar wenn mir jemand kurz aufzeigen könnte wo die Vor- und Nachteile der beiden liegen.



  • Wir benutzen in der Arbeit (und daheim benutze ich das auch) Qt Widgets. Qt Quick interessiert mich einfach nicht, hab ich mir noch nie genauer angeschaut, werd ich ohne besonderen Grund auch nicht machen.



  • Für Desktop-Apps würde ich Qt Widgets empfehlen.
    Qt Quick wurde vorrangig für mobile Geräte entwickelt (Smartphone) und erst nach und nach kommen die bei Qt Widgets lange vorhandenen und in Desktops-Apps üblichen Controls auch in Qt Quick an. Man kann diese aber wohl in Qt Quick recht einfach nachbauen (nutze selbst kein Qt Quick).



  • Vielen Dank für eure Antworten. Ich werde dann Qt Widgets verwenden. Habe gestern den ganzen Tag mit Qt Widgets ein paar kleine Programme geschrieben und war nicht enttäuscht (ich kannte bisher für die GUI-Programmierung hauptsächlich Java Swing... das ist ja so ne Sache für sich).

    Ich habe noch eine letzte Frage: Ich nehme an ihr verwendet den QtCreator? Braucht ihr UI Forms oder programmiert ihr die GUI von Hand? Ich habe schon beides etwas ausprobiert aber ich sehe dir Vor- und Nachteile noch nicht ganz. Ich wäre dankbar wenn ihr kurz eure Erfahrungen teilen könntet 🙂



  • Wir benutzen Visual Studio.
    Wenn wir nur schnell ein weiteres Einstellungs- oder Statusfenster brauchen, wirds schnell zusammengeklickt. Das kommt aber sehr selten vor und macht nur einen vernachlässigbaren Teil der Arbeit aus (ich würde mich auch weigern, wenn das einen größeren Teil meiner Arbeit ausmachen würde). Selbst wenn wir "GUI Programmierung" machen, ist die Programmierung nicht wirklich GUI lastig. Kann z.B. darum gehen, die Benutzeroberfläche zu verbessern (könnte man also als GUI Programmierung einstufen) und mit zusätzlichen Informationen anzureichern (z.B. aus einer Datenbank, aus PDM Systemen, extrahierte Features usw.). Den größten Teil macht als der Zugriff auf die Daten und deren Aufbereitung aus. Dann muss man sich noch drum kümmern, das im Hintergrund zu erledigen, zu cachen, Anfragen zusammenzufassen usw. Was noch wirklich GUI spezifisch ist, ist dann vielleicht ein Delegate oder eine Erweiterung für ein Proxy Model zum Sortieren. Sind also auch Sachen, die man programmieren muss und nicht zusammenklicken.
    Wenn es dir wirklich nur um irgendwelche "Fenster" geht, dann klick sie halt schnell zusammen und vergiss sie möglichst schnell wieder 😉



  • Ich verwende als IDE den QtCreator und bin recht zufrieden damit. Schön wäre jedoch eine Klassen-Ansicht des Projekts (gibts schon) jedoch wenn man auf die Funktion klickt sollte er zur Funktionsimplementierung springen und nicht zur Deklaration im Header.
    Für die GUI nutze ich immer den Designer, insbesondere weil dieser auch die Slots anlegen kann (rechte Maustaste auf einen Button im GUI-Designer -> Go to Slot... -> clicked() -> und er legt den Slot an).


Anmelden zum Antworten