Re: QT 3.3.4 Kommunikation zwischen Dialogen
Stefan Hundhammer <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Organization | SuSE Linux AG |
| Message-ID | <[email protected]> |
On Tuesday 14 June 2005 13:32, [email protected] 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 [email protected] sondern Norbert Pilsl <[email protected]> Dann kann man einen Menschen (!) ansprechen und nicht eine Wegwerf-Mailadresse. > 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/inhouse.html?seminar=11852 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 <[email protected]> Penguin by conviction. YaST2 Development SUSE Linux Products GmbH Nuernberg, Germany -- Um die Liste abzubestellen, schicken Sie eine Mail an: [email protected] Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: [email protected]