Qt?

Siberian..Husky

Lt. Commander
Registriert
Apr. 2004
Beiträge
1.125
Ich bin zurzeit auf der suche nach einem neuen Framework für ein paar zukünftige Projekte. Zur abwechslung wollte ich da mal was haben das wirklich an c++ erinnert und keinen C-Api aufsatz. Da bleibt ja fast nurnoch QT übrig. Die neuerungen für QT4 hören sich ja auch sehr interessant an. Aber wie is das mit windows? Sind QT Programme unter windows sehr groß oder schleppen eine riesige .dll mit sich rum wie bei den mfc? Wie sieht die geschwindigkeit bei komplexen "ownerdrawn" controlls aus? und ganz wichtig natürlich: weiß jemand obn es beu qt4 wieder eine windows gpl version geben wird? bei version 3 scheint es ja nur eine sehr junge version auf einer buch-cd zu geben. und bekommt man das zur not auch die linux version unter cygwin zum laufen(damit ich mir schonmal die technologie preview ansehen kann ohne dafür ständig linux zu booten)? die großen änderungen in qt4 währen alle wichtig für mein geplantes projekt also macht es ja wenig sinn sich noch mit der v. 3 zu beschäftigen wenn in 4 monaten das update auf die 4 kommt.
 
Puh, nachdem ich mich durch den Text gequält und fast Augenkrebs bekommen habe versuche ich mal alles zu beantworten.

Zuerst aber möchte ich dich bitten in Zukunft die Lesbarkeit deiner Texte zu überdenken.
Absätze einfügen und Groß/Kleinschreibung beachten. Das wäre nett :).

Ich bin zurzeit auf der suche nach einem neuen Framework für ein paar zukünftige Projekte. Zur abwechslung wollte ich da mal was haben das wirklich an c++ erinnert und keinen C-Api aufsatz. Da bleibt ja fast nurnoch QT übrig.
Richtig gedacht. Allerdings erinnert Qt nicht nur an C++, das ist C++ in seiner schönsten Form.
Die neuerungen für QT4 hören sich ja auch sehr interessant an. Aber wie is das mit windows? Sind QT Programme unter windows sehr groß oder schleppen eine riesige .dll mit sich rum wie bei den mfc?
Qt Programme sind auch nicht größer als andere. Warum denn auch, wenn die Qt Lib dynamisch gelinkt wird.
Die qt-mt323.dll (Qt multi-threaded Version 3.2.3 unter Windows) ist bei mir ca. 3.8 MB groß.
Wie sieht die geschwindigkeit bei komplexen "ownerdrawn" controlls aus?
Ich weiß zwar nicht was "komplexe ownerdrwan Controls" sein sollen (naja, eine vage Vorstellung habe ich vielleicht), aber da die "Geschwindigkeit" der User Interface Elemente der Qt Lib meiner Meinung nach gut ist, und komplexere Oberflächen aus vorhandenen Elementen der Qt Lib gebastelt werden sehe ich da kein Problem.
Oder willst du komplexe Dinge zeichnen? Dann ist der QCanvas sinnvoll.
und ganz wichtig natürlich: weiß jemand obn es beu qt4 wieder eine windows gpl version geben wird? bei version 3 scheint es ja nur eine sehr junge version auf einer buch-cd zu geben.
Meinem Wissen nach ist das noch unbekannt.
und bekommt man das zur not auch die linux version unter cygwin zum laufen(damit ich mir schonmal die technologie preview ansehen kann ohne dafür ständig linux zu booten)?
Da würde ich doch mal ein klares "Ja" aussprechen.
die großen änderungen in qt4 währen alle wichtig für mein geplantes projekt also macht es ja wenig sinn sich noch mit der v. 3 zu beschäftigen wenn in 4 monaten das update auf die 4 kommt.
Kommt darauf an, ob du dich schon mit dem !Qt-Konzept" auskennst.
Ich meine jetzt vor allem die Signals und Slots. Oder die Sache mit den Parent-Widgets (löschen von mit "new" angelegten Objekten entfällt).
Wenn du dich noch nicht damit auskennst, dann ist auf jeden Fall ratsam dich einzuarbeiten, auch schon in Qt3. Es ändern sich zu Qt4 vielleicht große Dinge, aber die Prinzipien bleiben gleich.
 
War gestern halt schon etwas späht. Ich versuche mich zu bessern ;).


zu den Controlls: Ich brauche für ein Projekt eigene. Unter Windows nimmt man düfer in der regel vorhandenen Controlls und ergänzt eben eigene Funktionalität. In der regel bedeutet das das man eine bestimmte Option beim erstellen des Controlls sätzt und hinterher für das Zeichnen selbst verantwortlich ist. D.h. Windows schickt einem bestimmte nachrichten wenn man bestimmte Teile eines Controlls neu Zeichnen soll. Diese Controlls sind dann in der regel langsamer als das original da der Verwaltungsaufwand höher is.

Die Frage is nun ob das bei QT überhaubt möglich ist und ob das dann auch noch langsamer wird? QT emuliert ja unter Winodws nur Windows Controlls. Die werden(wenn ich das richtig verstanden hab) alle von QT selbst gezeichnet mit den entsprechenden Windows Funktionen. Ein QT Button sieht also unter Windows aus wie ein Windows-Button, ist aber eigentlich garkeiner. Dadurch alein sollte die Gui ja schon etwas langsamer sein als eine Original Windows Gui. Deswegen wollte ich mal Fragen wie das da aussieht.

zum Vorwissen: Ich hab von QT keine Ahnung. Das wird sich aber ändern da ich mir doch erstmal QT3 ansehen werde. Gerade heute ist die deutsche übersätzung von "C++ GUI Programming with Qt 3" erschienen bei der auch wie beim Englischen Original eine non-commercial version von QT3 beiliegt. Vieleicht sogar eine neuere als im Englischen Buch(dort war es die 3.2, also garnicht so alt wie ich dachte. Vieleicht gibt es in der Deutschen version ja sogar eine 3.3 oder 3.4).


Bis das Buch da is werd ich mich mal wieder mit Cygwin beschäftigen. Der X11 der da dabei ist macht doch mitlerweile sogar jedesmal ein extra Windows fenster für jedes Linux Progie oder hab ich das nur Falsch gesehen? Damit sollte man mitlerweile ja sogar produktiv arbeiten können.

Noch ne Frage: Gibts den GCC nur mit Cygwin oder gibts da noch ne extra Windows version?
 
gcc + Windows: http://gcc.gnu.org/install/specific.html#windows

Zu den Controls: Das wird bei der Qt-Lib auch nicht viel anders gehandhabt.
Vieles lässt sich über Konstruktorparameter schon einstellen.
Wenn das nicht reicht, dann kannst du immer noch von dem Widget ableiten und basteln wie du lustig bist (z.B. MyButton abgeleitet von QPushButton; MyButton kannst du dann auch oval zeichnen lassen wenn du weißt wie es geht :D).

Und das Wissen zu Qt kommt sehr schnell.
Es werden bereits gute Tutorials mitgeliefert. Daher ist die "Lernkurve" zur Qt Bibliothek schneller als bei allen anderen die ich kennen lernen durfte.
Ratz fatz hast du ein tolles Programm geschrieben mit ansehnlicher Oberfläche und ordentlicher Funktionalität.
 
Also das Buch is angekommen. Sieht ganz net aus. Aber QT is ja riesig!? meine qt dll(qt-mtnc321.dll) is über 6 mb groß! und die non-commercial version kann man wohl nich statisch linken(da fehlen die sourcen). Das is dann doch etwas übertrieben für kleinere Tools....

Währe es den möglich das mir jemand der z.b. die Education version hat(kenn ein paar studenten wo man ja mal die uni fragen könnte) meine tools compiliert? Also rechtlich, wäre sowas legal? Hab eh vor die unter die gpl oder einer ähnlichen lizens zu stellen.
 
Zuletzt bearbeitet:
Die Erstellung von eigenen Controls wird durch Qt hervorragend unterstützt. siehe dafür Kalssen QStyle, QWidget::updateMask().

Die Qt-GUI kannst du mit wirklich minimalem Aufwand in allen möglichen Varianten erscheinen lassen (Motif, CDE, SGI, Windows usw.) Also ist die Aussage "QT emuliert ja unter Winodws nur Windows Controlls." nicht richtig.

Qt ist sehr schnell erlernbar, wenn du ein C++ Experte bist. Das ist bspw. bei MFC ganz anders.

Wenn man die aktuelle Version kauft, ist ein Upgrade auf die nächsten Major- und Minor-Versionen für ein Jahr drin. D.h. man kann jetzt ruhig die 3.3.3 kaufen, wenn die Qt 4 raus ist, kriegt man die umsonst.

Trolltech bietet eine einjährige Email - Unterstützung.

Na ja, alles in einem - eine geile Sache. Nur der Preis von 2150 € ist eben ein manko. Die Trolls müssen aber auch irgend wie überleben...
 
Zurück
Oben