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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.