[Metalab] QT

Georg Lippitsch georg.lippitsch at gmx.at
Tue Feb 22 20:47:28 CET 2011


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.


> Zu wissen ob es gscheit ist ein Projekt mit UI anzufangen, oder besser
> alles ausschreiben. Was hat es mit dem moc auf sich?

Was Du hier mit "UI" meinst versteh ich jetzt nicht ganz. Komplizierte 
Fenster sollte man nat�rlich mit dem Designer machen, und dann aus den 
.ui Files die notwendigen Header erzeugen.
Zum �ben w�r's aber schon sinnvoll wenn Du mal ein paar einfache Fenster 
direkt schreibst, damit Du sp�ter das Einbinden vom automatisch 
generierten Header aus dem .ui-File besser verstehst.

Der moc (Meta-Object Compiler) erzeugt zus�tzliche cpp-Files, die f�r 
das Funktionieren von "Signals und Slots" notwendig sind. Signals und 
Slots sind eine sehr praktische M�glichkeit wie man Funktionen aufrufen 
und miteinander verbinden kann, die allerdings von der Sprache C++ nicht 
direkt unterst�tzt wird. Der moc muss daher die Source-Files parsen und 
zus�tzlichen Code erzeugen, damit das funktioniert.


> 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.


> 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 ....


Hoffe, das hilft bissl,


Gr��e!

Georg




More information about the Metalab mailing list