Login


 
Newsletter
Werbung

Thema: Erste Betaversion von Qt 5 freigegeben

8 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Norbel am Fr, 31. August 2012 um 17:19 #

Ich hab da ma ne Frage.
Also QML ist das neue Qt Quick?
Mit C++ sollen in Zukunft keine Oberflächen mehr programmiert werden. Aber wie kann es denn sein, das die XML Sachen mit QML schneller sind als die kompilierten Animationen bzw. Oberflächen die mit C++ geschrieben wurden. Kann man in Qt auch Fenster bauen ohne diese üblichen Fensterrahmen, also wie man das von den "modernen" Benutzeroberflächen kennt?
Kann man mit QML auch auf die ganzen anderen Komponenten von Qt zugreifen oder braucht man dafür dann weiterhin C++? Damit meine ich so Sachen wie den Sound Layer(der der auch in KDE verwendet wird)?

Danke!

  • 0
    Von hjb am Fr, 31. August 2012 um 18:52 #

    Also QML ist das neue Qt Quick?
    Nein, QML gehört zu Qt Quick, da hat sich nichts geändert.

    Mit C++ sollen in Zukunft keine Oberflächen mehr programmiert werden.
    Was die Qt-Macher sich da vorstellen, ist völlig irrelevant. Es gibt genug Leute, die absolut keinen Bock auf Qt Quick haben, und die können so weitermachen mit C++ wie bisher.

    • 0
      Von Norbel am Fr, 31. August 2012 um 19:02 #

      Wie wird das eigentlich gemacht?
      QML bzw. Qt Quick, ist das eine Art XMl oder eine Art Javascript? Wie kann das denn genau so schnell interpretiert werden wie eine native Programmoberfläche? Ich frag mich allgemein wie das geht das diese nativen Webinterfaces genau so schnell sind wie die C++ Oberflächen. Ist es denn wirklich soviel leichter ne Oberfläche mit Webtechniken zu entwickeln?

      • 0
        Von fälltmirkeinerein am Fr, 31. August 2012 um 19:48 #

        QML ist sozusagen wie eine Art Beschreibungssprache in der du vollkommen dynamisch agieren kannst z.B.

        Rectangle {
        id: rect
        width: 10; height: 20

        Rectangle {
        id: innerRect
        width: rect.Width/2; height: funktion_zu_irgendwas()
        }
        }

        Die propertys wie 'width' sind interpretiert als Javascript.
        QtQuick ist nur eine Schnittstelle zu Qt, und einigen speziell auf QML angepassten Elementen (wie Rectangle).

        Mit QML + QtQuick (oder eine beliebige andere "Lib") kann man schon ziemlich schnell Resultate erzielen.
        Das Problem hierbei ist aber, dass man schnell zu javascript only Lösungen tendiert, weil es eben einfacher und schneller geht, man aber dadurch an Performance Einbußen hinnehmen muss.


        > Ist es denn wirklich soviel leichter ne Oberfläche mit Webtechniken zu entwickeln?
        QML ist keine Webtechnik (zum Glück, sonst hätten wir CSS :evil: ). Das einzigste, was Web ist, ist die Anlehnung der QPainter API an die von HTML5 der Canvas API und javascript selbst.

        0
        Von krake am Fr, 31. August 2012 um 19:51 #

        QML bzw. Qt Quick, ist das eine Art XMl oder eine Art Javascript?

        Der QML Syntax ist ähnliche wie JSON, also ähnlich der JavaScript Objekt Syntax. Mehr oder weniger eine sehr einfache Art grafische Elemente, ihre Eigenschaften und die damit erzeugte Baumstruktur zu beschreiben.

        Wie kann das denn genau so schnell interpretiert werden wie eine native Programmoberfläche?

        Ein QtQuick Szene wird nicht interpretiert. Wenn eine QML Datei geladen wird, dann wird für jedes darin beschriebene Element ein Objekt einer entsprechende C++ Klasse erzeugt und an der beschreibene Stelle in die Baumstruktur der Oberfläche eingefügt.

        Das ist relativ ähnlich zur Verfahrensweise bei QtWidgets, nur dass dort die im Qt Designer erzeugte Beschreibung meistens zur Bauzeit in C++ Code übersetzt wird.

Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung