Alles rund um die Programmierung mit Qt
moo
Beiträge: 12 Registriert: 10. Mai 2005 16:34
Wohnort: Ulm
Beitrag
von moo » 12. Mai 2005 16:15
Hallo.
Ich möchte ein kleines Bild anzeigen lassen. Dazu habe ich ein Pixmap
erstellt und das in ein QHBLayout geladen.
Code: Alles auswählen
QHBoxLayout* hbl4 = new QHBoxLayout();
QLabel* label = new QLabel(this);
bild = new QPixmap( "vertex_22x22.PNG" );
label->setPixmap( *bild );
label->setText( "picture" );
hbl4->addWidget( label );
...
ges->addLayout ( hbl4 ); //Pixmap
Leider wird das Bild nicht angezeigt, sondern nur der Text.
Kann mir jmd. sagen woran das liegen könnte? Kann Qt nur bestimmte Formate lesen?
moo
FlorianBecker
Beiträge: 1213 Registriert: 2. Dezember 2004 10:54
Kontaktdaten:
Beitrag
von FlorianBecker » 12. Mai 2005 16:29
Hi,
ich würde das so lösen:
Code: Alles auswählen
QHBoxLayout* hbl4 = new QHBoxLayout();
QLabel* label = new QLabel(this);
QPixmap bild( "vertex_22x22.PNG" );
label->setPixmap( &bild );
label->setText( "picture" );
hbl4->addWidget( label );
...
ges->addLayout ( hbl4 ); //Pixmap
Zu der anderen Sache mit setText und setPixmap, soweit ich weiß geht nur eines von beiden und setText kommt als 2. also völlig logisch, das hier nur Text kommt.
moo
Beiträge: 12 Registriert: 10. Mai 2005 16:34
Wohnort: Ulm
Beitrag
von moo » 12. Mai 2005 16:46
Bei deiner Variante bekomme ich folgende Fehlermeldung,
die ich vorher auch schon hatte und erst mit
beseitigen konnte.
" 'QLabel::SetPixmap' : cannot convert parameter 1 from 'QPixmap *' to 'const QPixmap &' "
FlorianBecker
Beiträge: 1213 Registriert: 2. Dezember 2004 10:54
Kontaktdaten:
Beitrag
von FlorianBecker » 12. Mai 2005 16:59
Ich bin ein wenig verwundert. Was benutzt du denn für dein Arbeiten mit Qt? Windows und nmake? Linux und gcc?
Denn selbst so steht es in der Doku und ich habe ja bisher nie ein Pixmap anders verwendet.
moo
Beiträge: 12 Registriert: 10. Mai 2005 16:34
Wohnort: Ulm
Beitrag
von moo » 12. Mai 2005 17:09
windows und cmake...
Deshalb bin ich ja so verzweifelt, überall sieht man dass es so geht, nur bei mir wird das Bild nicht angezeigt...
Bei
meckert er nicht mehr, aber das Bild erscheint immer noch nicht.
Hab eben mal auf isNull () getestet...hat true geliefert...heißt das das Bild wird nicht geladen?
FlorianBecker
Beiträge: 1213 Registriert: 2. Dezember 2004 10:54
Kontaktdaten:
Beitrag
von FlorianBecker » 12. Mai 2005 17:14
isNull heißt das es nichtmal erstellt wurde.
isEmpty heißt das es leer ist bei Qt
Aber wenn sowas mit dem QPixmap nichtmal konform geht, muss der Fehler irgendwo anders liegen, denn was nützt ein CrossPlattform Toolkit, wenn du den ganzen Code anders schreiben musst?
Such mal an einer anderen Stelle nach dem Problem, evtl. probiert es einfach mal mit dem .NET Framework von MS, da sollte nmake dabei sein(wurde mit erzählt), und da probierst mal, ob es da geht.
moo
Beiträge: 12 Registriert: 10. Mai 2005 16:34
Wohnort: Ulm
Beitrag
von moo » 12. Mai 2005 17:16
Ok, danke!
moo
Beiträge: 12 Registriert: 10. Mai 2005 16:34
Wohnort: Ulm
Beitrag
von moo » 3. Juni 2005 14:12
Nur als Ergänzung:
so hat es dann doch noch geklappt
Code: Alles auswählen
QHBoxLayout* hbl = new QHBoxLayout();
QLabel* label = new QLabel(this);
QImage image("xxx.bmp");
QPixmap pixmap;
label->setPixmap(image);
Grüße
moo
kowi1134
Beiträge: 120 Registriert: 1. Mai 2005 17:48
Wohnort: Arnsberg
Beitrag
von kowi1134 » 11. September 2005 15:50
moo hat geschrieben: Bei deiner Variante bekomme ich folgende Fehlermeldung,
die ich vorher auch schon hatte und erst mit
beseitigen konnte.
" 'QLabel::SetPixmap' : cannot convert parameter 1 from 'QPixmap *' to 'const QPixmap &' "
Das Muss wohl daran liegen, dass Die Funktion setPixmap eine Referenz auf ein Pixmapobjekt übernimmt und keinen Zeiger auf selbiges
Ciao