Seite 1 von 1

[gelöst] QPixmap wird nicht immer dargestellt

Verfasst: 27. November 2007 15:24
von boer
Hallo zusammen,

Ich habe in meinem Programm ein Bild in jpg-Format als Hintergrund. Wenn ich das Programm über die Shell starte, wird das Bild korrekt dargestellt, wenn ich jedoch das Programm über die graphische Oberfläche (Konqueror) starte, wird das Hintergrundbild nicht angezeigt.

Mein System: SuSe Linux 10.1, Qt 4.2

Der Hintergrund wird folgendermaßen erstellt:

Code: Alles auswählen

QGraphWidget::GraphWidget(QWidget *startMenue)
{
  // ...

  this->setBackgroundBrush(QPixmap("hintergrund.jpg"));

  // ...
}
Hatte jemand von euch schon mal dieses Problem und kann mir hier weiterhelfen bzw. kann mir sagen, wo ich mit der Fehlersuche ansetzen könnte? Ich bekomme auch keine Fehlermeldungen.

Danke!

Verfasst: 27. November 2007 15:38
von macman
Pack das Bild in die Resource oder nimm den absoluten Pfad zum Bild, wobei Du dabei den Pfad deiner App mit qApp->applicationDirPath() ermittelst.

Verfasst: 27. November 2007 15:56
von boer
Danke macman!

Ich hab jetzt auf die Schnelle das ganze über applicationDirPath() ausprobiert, und damit funktionierts. Ich denke dein Tipp mit dem Resource-File ist auch eine gute Idee, werd das noch ausprobieren.

Vollständigkeitshalber hier mein modifizierte Codeausschnitt:

Code: Alles auswählen

QGraphWidget::GraphWidget(QWidget *startMenue)
{
  // ...

  QString ImagePath = qApp->applicationDirPath();
  ImagePath += "/hintergrund.jpg";
  this->setBackgroundBrush(QPixmap(ImagePath));

  // ...
} 
Danke!