On Tuesday 14 June 2005 13:32, suseliste@wolke7.net wrote:
Danke für die klare Antwort [Leider ist meine Antwort etwas umfangreich]
Ich gebe zu das ich mit englischer Dokumentation Probleme habe. Auch online bin ich nicht allzu gerne.
Beides ist natürlich gerade bei der Entwicklung unter Linux ein Problem. ...
Aber all diese Beispiele haben einen Nachteil: Sie behandeln immer nur einen Dialog oder ein Programm.
Was aber kein prinzipielles Problem ist, wenn man die Aufgabe entsprechend modularisiert hat. Das ist auch kein Problem, was in irgendeiner Weise spezifisch für Qt oder Linux wäre, sondern ein allgemeines Problem des Software-Engineering an sich.
Nur in dem Buch "GUI-Programmierung mit Qt3" werden auch größere Projekte beschrieben. Die arbeiten aber fast ausschließlich auf der "Kommandozeile".
Soll heißen: Dort werden Dialoge von Hand programmiert und nicht mit dem Qt-Designer.
Der QT - Designer wird nur am Rande erwähnt.
Weil der Unterschied so groß eben nun wirklich nicht ist - beide Male wird der gleiche (oder zumindest ein ähnlicher) Code erzeugt.
Im Moment aber möchte ich gerne bei den QT Designer bleiben. Die Problemlösungen die es auf der "Kommandozeile" gibt sind aber nicht 1:1 auf dem Designer umzusetzen.
Na ja - ein graphischer Oberflächengenerator wie der Qt-Designer hat nun mal prinzipbedingt gewisse Einschränkungen. Man kann und will dort nicht alles und jedes zur Verfügung stellen, was man auch manuell programmieren könnte - dann wäre dieses Ding genauso komplex, aber umständlicher zu bedienen wie manuelle Programmierung mit einem Editor mit dem C++ -File.
Also wenn es irgendwo noch Beispiele für größere Projekte mit dem QT Designer gibt würde mir das schon sehr helfen.
Ich kenne niemanden, der basierend auf dem Qt-Designer ernsthaft große Projekte macht. Ich bin mir auch ziemlich sicher, daß das nicht wirklich sinnvoll wäre; dort wird man sich Werkzeuge auf höherer Ebene schaffen, die man dann sehr viel effizienter einsetzen kann. So wird man sich für oft vorkommende Aufgaben Highlevel-Widgets programmieren, die große Teile ganzer Dialoge beinhalten oder gleich ganze Dialoge. So etwas kann man mit einem Werkzeug wie dem Designer - wenn überhaupt - nur sehr schwierig, und es ist fraglich, ob das eher nützt oder eher schadet.
Der Vorwurf das ich ein hemmungsloses, asoziales Wesen bin, betrifft mich nur wenn ich nichts gelesen habe.
Volle Zustimmung.
Diesen Vorwurf konnte ich (nach meiner Meinung) entkräften. Deshalb gehe ich auch nicht näher darauf ein.
Meine e-Mail Adresse ist eine speziell für diese Liste frei geschaltete Adresse. Sie ist für jeden erreichbar. Nur wenn der Spam wieder überhand nimmt werde ich auf eine neue wechseln. GMX bietet leider nur "wolke7" als halbwegs neutrale Domain an. Daran sehe ich nichts asoziales.
Eine Mailadresse gegen Spam zu schützen ist eine Sache, aber wo bitte ist das
Problem, neben dieser Adresse auch noch einen echten Namen hinzuschreiben?
Alle modernen Mail-Clients können das. Und dann hat auch niemand ein Problem
damit - dann steht dort eben nicht ein nacktes
suseliste@wolke7.net
sondern
Norbert Pilsl
Was bitte, bedeutet IMHO ?
http://forum.de.selfhtml.org/faq/#Q-22
PS Die Frage nach QT Lehrgängen war durchaus ernst gemeint.
Eine Suche mit Google hat mir in wenigen Minuten diese Treffer gebracht: http://www.grundig-akademie.de/it/offsem/portable_qt.htm http://www.unilog-integrata.de/training/seminarplaner/seminarbeschreibungen/... http://www.hilf.de/de/site/schulung/kurse/programmierung_qt_schulung.html http://www.trolltech.com/training/ (Bitte selbst nachprüfen, ob da noch uralte Leichen dabei sind)
Alle die ich bis jetzt gefunden habe bieten nur C oder C++ an. Nach meinen C-Lehrgang wäre nun ein Qt Lehrgang die optimale Ergänzung, da QT ja C++ mit einschließt.
Man sollte C++ schon einigermaßen verstanden haben, wenn man mit Qt anfängt. Ansonsten wird man bei Sachen wie virtuelle Funktionen oder auch nur Vererbung schon ganz schnell auf dem Schlauch stehen. Qt und C++ gleichzeitig zu lernen, ist möglich, aber mit Sicherheit einer der härteren Wege.
Ein kleiner Nachtrag: Das QT-Buch war eines der ersten die ich mir gekauft habe. Leider wußte ich damals noch nicht von der Linux-Welt und somit habe ich nicht aufgepaßt. Mein Buch ist total veraltet, weil für die Version 2 von QT geschrieben.
So viel hat sich da nun auch nicht geändert.
Viele der modernen Sachen in QT 3 fehlen hier einfach. Mit QT 4 wollte ich mir eine neuere Version kaufen.
Auf der "Kommandozeile" programmiert man in Headerfiles (*.h) und Programmfiles (*.cpp). Bei dem QT Designer gibt es nur *.ui und *ui.h Files. Wenn ich in einen Headerfile eine Variable oder Funktion als public definiere funktioniert das. Aber im Designer gibt es keine Headerfiles. (Natürlich gibt es sie, aber sie werden immer neu erzeugt.) Aber wo soll ich im Designer eine Variable als public markieren. Meine Funktionen stehen alle unter "Member | Slots | public" sind aber nicht von anderen Dialogen aufrufbar.
Auf der "Kommandozeile" ist mir die genaue Positionierung der einzelnen Elemente zu kompliziert.
Hm - ich finde es komplizierter, das mit dem Designer hinzufummeln. Für einfache Prototypen OK, aber für ernsthafte Anwendungen ist das nicht mein Fall.
Wenn ich es richtig verstanden habe kann man die Geometrie der einzelnen Elemente nur hart kodieren oder man verlässt sich auf die automatischen Layouts von QT. Die bringen aber oft kein optimales Ergebnis.
???
Der Designer benutzt auch nichts anderes. Auch dort muß man im Wesentlichen
mit QVBox, QHBox und QGridLayout auskommen. Und so schwer zu verstehen sind
die nun wirklich nicht.
CU
--
Stefan Hundhammer