Hallo,
ich habe ein Programm mit einer QGraphicsScene/QGraphicsView in das ich ein QImage als Hintergrund-Bild einfügen möchte.
Wenn ich das Bild vor dem Compilen festlege, also in die Ressourcen-Datei aufnehmen kann, funktioniert dies einwandfrei.
Aber wie stelle ich es an, dass der Benutzer zur Laufzeit ein Bild auswählen kann und dies dann zu den Ressourcen hinzugefügt wird, damit ich
es als Hintergrund-Bild einfügen kann?
MfG und Danke
Ressource während Laufzeit hinzufügen
Re: Ressource während Laufzeit hinzufügen
Du kannst doch Bilder auch direkt von der Platte (also eine ganz normale Datei) laden. Resource-Dateien werden kompiliert und ins Binary eingefügt, da kann man nix während der Laufzeit des Programms ändern!
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Ressource während Laufzeit hinzufügen
Ich gebe franzf fast recht - die Idee ist nicht wirklich sinnig - man braucht ein Bild nicht als Resource einzubinden nur weil man es darstellen will.
Allerdings kann man auch resourcen zur Laufzeit hinzufügen - sie müssen nicht unbedingt ins Binary einkompiliert werden - siehe http://doc.trolltech.com/4.7/qresource.html
Allerdings kann man auch resourcen zur Laufzeit hinzufügen - sie müssen nicht unbedingt ins Binary einkompiliert werden - siehe http://doc.trolltech.com/4.7/qresource.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Ressource während Laufzeit hinzufügen
Hallo,
ok, das war mir nicht bewusst.
Denn bisher war es so, dass wenn ich irgendwelche Dateien (ob jpg-Bilder oder irgendwelche icons) ins Programm einbinden wollte, diese nur angezeigt wurden,
wenn ich sie in der Ressourcen-Datei hinterlegt hatte.
Wie geht es denn auch ohne?
Geht es nicht einfach so, dass ich z.B. ein QImage instanziiere und dort den absoluten Pfad der Datei, die ich anzeigen möchte, angebe?
Muss ich da sonst noch irgendwas tun?
MfG und Danke
ok, das war mir nicht bewusst.
Denn bisher war es so, dass wenn ich irgendwelche Dateien (ob jpg-Bilder oder irgendwelche icons) ins Programm einbinden wollte, diese nur angezeigt wurden,
wenn ich sie in der Ressourcen-Datei hinterlegt hatte.
Wie geht es denn auch ohne?
Geht es nicht einfach so, dass ich z.B. ein QImage instanziiere und dort den absoluten Pfad der Datei, die ich anzeigen möchte, angebe?
Muss ich da sonst noch irgendwas tun?
MfG und Danke
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Ressource während Laufzeit hinzufügen
Und was hindert Dich daran einfach den Pfad anzugeben und zu schauen was passiert? Wo steht das dies nicht gehen sollte?
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Ressource während Laufzeit hinzufügen
Die Tatsache, dass ich es schon des Öfteren probiert habe und es nie funktioniert hat!
Re: Ressource während Laufzeit hinzufügen
Also dieser "Arme-Leute-Viewer" funktioniert bei mir bestens:
Da bräuchten wir halt ein Beispiel (wo es ausschliesslich mit Ressourcen funktioniert)...
Code: Alles auswählen
#include <QApplication>
#include <QFileDialog>
#include <QPixmap>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QString fileName = QFileDialog::getOpenFileName(NULL, "Open File",
"",
"Images (*.png *.xpm *.jpg)");
if (fileName.length() > 0) {
QLabel l;
QPixmap p(fileName);
l.setPixmap(p);
l.setGeometry(p.rect());
l.setWindowTitle(fileName);
l.show();
return app.exec();
}
return 1;
}
Da bräuchten wir halt ein Beispiel (wo es ausschliesslich mit Ressourcen funktioniert)...