[Metalab] Qt

Michael Hauser awarewater at gmail.com
Mon Feb 28 22:45:22 CET 2011


pronounciation reminder:

Qt ... Cutie
KDE ... Kiddie

lg, mih

PS. LaTeX ... layman's tex ... 'Lay Tech'   :)


2011/2/22 Thomas Perl <thp at thpinfo.com>:
> Hi,
>
> (nitpick: bei Qt ist das "t" klein; QT = Quicktime)
>
> On Tue, Feb 22, 2011 at 08:47:28PM +0100, Georg Lippitsch wrote:
>> Am 22.02.2011 19:56, schrieb Berni _:
>>> Mich plagt: die Unterschiede zw. Dialogen und Fenster (und Widgets) zu
>>
>> In QT sind alle GUI-Element von QWidget abgeleitet, d.h. jedes Fenster
>> und jeder Dialog, aber auch Knöpfe, Lables, und alles andere sind
>> prinzipiell mal auch QWidgets.
>> Ein QDialog bietet im Gegensatz zu anderen Fensterarten die Möglichkeit,
>> dass die Funktion, welche man zum Anzeigen aufruft, so lange blockt, bis
>> man den Dialog wegklickt. Ist sinnvoll wenn man z.B. irgend eine
>> Ja/Nein-Abfrage machen will, weil man einfach nur auf das Return von
>> QDialog.exec() warten muss, und nicht einen EventHandler schreiben.
>>
>> Das Hauptfenster einer Applikation sollte normalerweise ein QMainWindow
>> sein. Für alle anderen Fenster, die nicht QMainWindow sind und auch
>> nicht während der Anzeige blocken sollen, kann man direkt QWidget
>> verwenden.
>
> Es gibt da auch noch QML/Qt Quick. Damit kann man in einer
> JavaScript-ähnlichen, deklarativen Sprache die UI definieren. Ist für
> Touch-UIs interessant (aber nicht nur). Eine QML-View "lädt" man in ein
> QDeclarativeView (und die ist von QWidget abgeleitet). QML gibt's ab Qt
> 4.7. Man kann dann viele UI-Sachen direkt in JavaScript lösen, wenn man
> mag (und meistens mag man). Und wenn die Zielplattform OpenGL (ES) kann,
> lässt sich das (im Gegensatz zu QWidget-basierten UIs) auch gleich mal
> per Zweizeiler hardwarebeschleunigen; sogar GL-Shader lassen sich
> zukünftig einbauen, wenn man lustig ist[1].
>
> Kommunikation zwischen C++ Backend und QML UI erfolgt dann über
> Properties, Signals und Slots, und das Trennen von UI und Backend-Code
> funktioniert mit diesem Ansatz sehr schön (man wird bissl dazu
> gezwungen).
>
>>> Ist QT ein weiser Schritt? Das gehört ja zu Nokia.
>>
>> Das ist natürlich immer eine Philosophie-Frage. Ich persönlich finde QT
>> so ziemlich das beste universelle Frameworks überhaupt, man kann richtig
>> viel damit machen, es ist clever designed und läuft auf verschiedenen
>> Plattformen. Lizenz ist LGPL, d.h. es handelt sich um echte freie
>> Software. Da "stört" auch Nokia nicht, für den Fall das die mal blöd
>> werden wird es sicher von der Community weiter gepflegt.
>
> Qt gibt's unter 3 Lizenzen, das geht ungefähr so (IANAL):
>
>  * Kommerzielle Lizenz (grob gesagt: du musst Änderungen an Qt nicht
>   teilen, und darfst statisch linken, ohne selbst (L)GPL sein zu müssen)
>  * LGPL (du darfst deine closed source Anwendung dynamisch gegen Qt
>   linken, musst Änderungen an Qt selbst aber unter die LGPL stellen)
>  * GPL (nur wenn dein Programm auch unter die GPL fällt)
>
> Meistens trifft aber eh die LGPL zu, außer du willst dein closed source
> Programm statisch gegen Qt linken (zB wenn du auf Windows abzielst, und
> nur "eine kleine exe" ausliefern willst anstatt exe + die großen Qt DLLs).
>
>>> Wenn du mal im Lab wärst Georg, dann könnte ich dir zeigen was ich bis
>>> jetzt gemacht habe.
>>> Zeitvorgaben für mein Projekt habe ich, muss aber nicht die Woche sein.
>>
>> Bin voraussichtlich am Freitag da, nach Clifford's Kurs kömma mal
>> schauen. Sonst müss ma was ausmachen, vorzugsweise Wochenende ....
>
> Wenn QML/Qt Quick in Frage kommt, kann ich dir da auch gerne was zeigen.
>
>
> lg
> thp
>
>
> [1] http://youtu.be/VMz5Z_vdDSA
>
>
> _______________________________________________
> Metalab mailing list
> Metalab at lists.metalab.at
> http://lists.metalab.at/mailman/listinfo/metalab
>




More information about the Metalab mailing list