Seite 1 von 1
[gelöst] *.ui (Quelltext erstellen)
Verfasst: 31. Januar 2006 21:00
von Marco812
Hallo,
bei QT3 habe ich mit uic -o *.h *.ui und uic -o *.cpp -i *.h *.ui de Quelltext erstellt. Leider funktioniert das mit QT4 nicht mehr.
Wie funktioniert das unter QT4?
Die Hilfe zeigt mir folgendes an:
Qt user interface compiler 4.1.0.
Usage: uic [OPTION]... <UIFILE>
-h, -help display this help and exit
-v, -version display version
-d, -dependencies display the dependencies
-o <file> place the output into <file
-tr <func> use func() for i18n
-p, -no-protection disable header protection
aber irgendwie komme ich nicht weiter!
Gruß
Marco812
Verfasst: 31. Januar 2006 21:32
von Christian81
Nimm qmake.
Verfasst: 1. Februar 2006 09:18
von Marco812
Hallo,
und wie sieht die Befelszeile mit qmake aus, um ein *.h und *.cpp aus der *.uic zu erstellen. Mit der hilfe komme ich nicht weiter.
Gruß
Marco812
Verfasst: 1. Februar 2006 09:26
von Christian81
Warum nimmst du nicht einfach qmake und schaust dann wie der Aufruf aussieht?
Hier ein Beispiel aus qt4\tools\assistant:
Code: Alles auswählen
ui_finddialog.h: finddialog.ui
C:\tmp\qt-4.1.0\bin\uic.exe finddialog.ui -o ui_finddialog.h
Was ist an dem Aufruf bzw. an der Hilfe so kompliziert? So viele Optionen gibts doch da nicht...
Verfasst: 1. Februar 2006 11:03
von methusalem
Marco812 hat geschrieben:...
und wie sieht die Befelszeile mit qmake aus, um ein *.h und *.cpp aus der *.uic zu erstellen. Mit der hilfe komme ich nicht weiter.
Es wird auch keine cpp Datei mehr automatisch erstellt. Das ist in QT 4 anders ... Die Konzepte sind halt geändert worden.
Du erstellst aus der ui Datei mit qmake eine h Datei, die die komplette Klassendefinition deiner GUI anthält. Darüber hinaus steckt dort noch eine Methode SetupUi() drin, die halt die GUI initialisiert.
Von dieser Klasse leitest du dir eine eigene ab. Dort hast du dann halt auch ne cpp Datei. Stichwort für den QT Assistent und die Suche hier im Forum sind "Using a Component in Your Application", "Single Inheritance Approach" und "Multible Inheritance Approach".
Ein Vorteil dieser Logik: Man kann an der ui Datei noch Änderungen durchführen ohne seinen Quellcode zu zerstören (war bei QT3 ja leicht möglich).
Verfasst: 1. Februar 2006 20:58
von Marco812
Hallo,
vielen Dank für die Info, sehr schön erklärt. Dennoch finde ich es schade das ich keine *.cpp bekomme, aber das kann ich dann wohl nicht ändern.
Gruß
Marco812