Seite 1 von 1

QT Resources in/mit MS VC nutzen - Image nicht dargestellt

Verfasst: 17. September 2006 15:36
von Zonk
Hallo, leider komme ich mti dne QT Resourcen nciht ganz klar... :(

Ich habe im Designer die Resourcen zusammengesetzt( Resourcefile erstellt und mit images betückt. Im Designer konnte ich auch meinen Labeln diese Images zuweisen, doch beim kompilierten Programm ist sogar auf dem Entwicklersystem nichts zu sehen.

Wie bringen ich meinem MS VS 2005 bei, die .qrc datei zu verwenden?

Da ich kein *.pro file habe, kann ich auch nicht RESOURCES = image.qrc sagen.

Weiß jemand Rat?

In der Suchfunktion habe ich leider nichts passendes gefunden


Danke Zonk

Verfasst: 17. September 2006 16:14
von ChMaster
wenn du die qt resourcen verwendest bleibt dir auch nichts anderes übrig
eine *.pro datei zu verwenden. die ist ganz schnell aufgebaut.

oder

du machst alles per hand mit der von qt mitgelieferten rcc.exe die erstellt dir
eine cpp und die bindest du dann bei dir ein, alles per hand versteht sich :)

Verfasst: 17. September 2006 16:40
von Zonk
gibt es denn eine Möglichkeit, aus einem existierenden Projekt ein .pro file zu erstellen?

Kene mich leider damit noch zu wenig aus, um zu überblicken, was ich in iein Pro File reinschreiben muss, um die eigenschafnte des MS Vc 2005 Prjektes beizubehalten..


ich hab soweit rausgefundne, das wenn iches in dne resources des MSVC einbinde, erscheint es beim *.pri (!) File als RESOURCES += images.qrc

wenn ichs dann kompilieren mag, scheitert er beim benutzerdefinierten Buildschritt vom rcc.

der bei mir eingetragene Aufruf lautet:

"$(QTDIR)\bin\rcc.exe" -name "images" -no-compress ".\Resources\images.qrc" -o "GeneratedFiles\qrc_images.cpp"

leider fleigt er hier jedesmal auf die Nase.

Wie müsste er richtig heißen?





Wenn ichs händisch machen würde ( hab mir die syntax mal angeguckt und schon kompiliert, in welche Datei müsste ich das einbinden? die zentrale projekt.h? als was trage ichda ein, es ergibt sich ja nur ein cpp, kein headerfile..

Danke für die Hilfe, Zonk

Verfasst: 17. September 2006 22:16
von ChMaster
jans enfoch ;)

ins verzeichnes wechseln wo du deine projekt dateien hast, wie *.h *.cpp
usw. aber im root verzeichnis deines projektes.

zb.: (wobei zonk dein projekt ordner ist)
also C:\zonk\zonk

in diesem verzeichnis liegen deinen header, cpp und deine qrc datei. dann
musst du folgendes machen: (cd /d bedeutet das er sofort in das verzeichis wechselt)

cd /d c:\zonk\zonk
qmake -project

und schon haste deine *.pro datei, anshliessend kannste mein tool benutzen
(bischen werbung mach :P) um das leben dir einfacher zu machen um
eine projekt datei für vc++2005 zu erstellen

wenn du weitere fragen hast, schau in der Qt4 dokumentation nach, da
findest alles über qmake und projekt dateien.

Verfasst: 19. September 2006 11:29
von Zonk
Danke dir :) aber ich hab die commercial, da ist das tool schon dabei ;))
wenn du so mit qmake das Project generierst, berücksichtig der dann die schon existierenden Dateien und trägt sie ein?


Mittlerweile hab ich raus wie es geht:

Man muss die Resource im MSVC unter Resources ->hinzufügen vorhandener Resourcen adden.

Da er die Endung nicht kennt baut er sich eine benutzerdefinierte Buildregel, die von QT als default gesetzt ist, und diese funktioniert auch.

Das Problem war nur, das MSVC dann einen Fehler macht: es added die vom rcc produzierte ressources.cpp UND es added eine gleichname CPP die es Augrund des benutzerdefinierten Builds erwartet.

Dass das natürlich identisch sien sollte merkt es nicht und findet folglich eine der beiden Dateien nicht. Sobald man dann diese entfernt, kann er wieder kompilieren und alles geht :)

Zu erkennen welche "der falsche Fuffzger" ist, ist einfach - jene welche sich nicht öffnen lässt ist nicht vorhanden, also weg damit ;)

Nachdem ich dann auch noch entdeckt hab, wie ich die Resourcen im Quelltext benutzen muss, hat alles nach meinen Wünschen geklappt.


Nicht wundern, steh noch am Anfang meiner QT-Laufbahn *g*

Vielen Dank trotzdem, Zonk

Verfasst: 19. September 2006 16:09
von ChMaster
Zonk hat geschrieben:Danke dir :) aber ich hab die commercial, da ist das tool schon dabei ;))
wenn du so mit qmake das Project generierst, berücksichtig der dann die schon existierenden Dateien und trägt sie ein?
musste dazu sagen das du die commercial version hast, menno, aber egal ;).

wenn du qmake -project aufrufst erzeugt er eine neue projektdatei für dein
projekt und schreibt die dateien hinzu die er findet. im grossen und ganzen
wird die *.pro neu erzeugt bzw. erstellt.

Verfasst: 19. September 2006 17:05
von Zonk
aah ok, dann kapier ich das auch mal ;) tausend Dank!

Ich find die online Doku von QT sehr detailiert, aber der Einstieg ist nicht ganz trvial, finde ich - aber langsam gehts :)

Zonk