Vom Qt-Designer zum Programm, nur wie?

Alles rund um die Programmierung mit Qt
Antworten
scooter
Beiträge: 11
Registriert: 7. März 2005 15:29

Vom Qt-Designer zum Programm, nur wie?

Beitrag von scooter »

Hallo,

ich hab vor einigen Jahren mal mit Qt 3.3 gearbeitet. Dort war es im Designer ganz einfach, in den Code zu kommen und gleich alles passend zu schreiben.

In Qt 4 geht dies nicht mehr. Die Frage ist zwar wirklich blöd, aber wie komme ich von einer .ui-Datei zum Code? Alle Beispieldateien gehen davon aus, dass man das Design selbst im Code schreibt - dann wäre es für mich auch klar.

Irgendwas übersehe ich, aber ich stehe jetzt echt auf dem Schlauch.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

guck mal in den assistant, da sind gross und breit einige methoden beschrieben, wie du die designten fenster in deinem code benutzt.

das editieren direkt im designer funktioniert in qt4 nicht mehr, du musst (in den meisten faellen) eine klasse vom im designer erstellten fenster ableiten, in der du dann die meiste funktionalitaet implementierst.

mfg,
julian
Chris81T
Beiträge: 82
Registriert: 4. Mai 2008 00:06
Wohnort: Urbar

Beitrag von Chris81T »

Ich persönlich habe in einem SW-Projekt das folgendermaßen gemacht:

1. Im Designer ein "Ui" erstellen (zB. für einen Dialog).

2. Dann in der Entwicklung ne Klasse erstellen und diese zum Beispiel von QDialog ableiten

3. Die Header Datei, die durch das Ui erzeugt wurde, in die Klasse includen

4. Als Membervariable den durch die Header zu Verfügung gestellten Namespace erstellen

5. Im ctor der Klasse über den namespace die setupui (weis den genauen Namen grad net) aufrufen und "this", also das abgeleitete QDialog Object übergeben.

Nun besitzt die eigene Klasse das Design der Ui Datei und kann passend mit Funktionalitäten erweitert werden.

Das steht aber auch Im Assistant drin.

Gruß
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Beim 3er QT funktionierte der Mechanismuss bissi anders.
Der code der durch die ui dateien erzeugt wurde, wurde direkter angebunden, so dass man kaum moeglichkeiten hatte, da noch irgendwas am widget dazwischenzuschieben ....
Deshalb gab es die moeglichkeit, eigenen code zu schreiben und den code vom designer zu manipulieren. Diese aenderungen wurden dann in den designer files auch gespeichert, so das sie permanent bleiben.

@scooter
Beim 4er funktioniert das bissi anders
Du kannst keinen code mehr ueber den designer aendern / pflegen, einfuegen ... du kannst dich also nicht mehr zwischenschieben, bei dem was der moccer baut. Der designer hat also kein code fenster oder aehnliches.

Dafuer wird der generierte code aus dem ui file auf etwas anderem weg eingebunden .... man kann ned mehr ganz so viele dinge gleich im designer erledigen, dafuer kann man beim schreiben von code mehr dinge machen und hat mehr einfluss ....

Schau dir die tutorials noch mal genauer an, dann siehst auch die unnerschiede. Iss am anfang etwas gewoehnungsbeduerftig, aber mit der zeit wird man zufriedener damit :-)

Ciao ....
methusalem
Beiträge: 186
Registriert: 11. August 2005 08:21

Beitrag von methusalem »

Hier wird erklärt wie es geht: http://doc.trolltech.com/4.4/designer-u ... e-approach

Es gibt zwei Varianten! Bin auch mal von der 3er umgestiegen und hab einige Abende gebraucht, bis es endgültig KLICK gemacht hat ...
Martin
scooter
Beiträge: 11
Registriert: 7. März 2005 15:29

Beitrag von scooter »

Danke an alle Antworter.

Das Entscheidende war: Qt 4.x verwendet einen UI-Compiler, "uic". Nachdem ich dies wusste und in einem Qt-Buch nachschlug, war der Weg zur fertigen Exe dann beschrieben.

In Trolltechs Hilfe war das kaum so klar zu lesen ...
Antworten