Seite 1 von 1

QPixmap auf ein QWidget zeichnen

Verfasst: 15. März 2008 15:52
von Vatriani
Im zuge meines Projektes (WVirtualPicture) muss ich Bilder auf einer Form darstellen.
Hierzu habe ich mir überlegt auf QWidgets zu zeichnen.
Meine Idee war nun folgende:

Code: Alles auswählen

QWidget *border = new QWidget(this);
QPixmap *bild = new QPixmap(":/back.jpg");

bild->grapWidget(border, 0,0,20,20);
nur leider wird das Bild nicht auf das Widget gezeichnet.
Über einer CSS anweißung funktioniert es allerdings -.-

Code: Alles auswählen

border->setStyleSheet(" background:url(':/back.jpg')");
Grund ist, warum ich nicht mit CSS arbeiten möchte ist ganz einfach folgender. Der Rahmen soll später Skaliert werden können und soll dabei auch durch ein Dither-Filter / Anti-Alaising laufen...

Ich hab es auch schon ausprobiert, wie es im Tipps und Tricks section beschrieben ist, aber das hat genauso eine auswirkung wie mein erster Versuch, nämlich garkein.

Code: Alles auswählen

QWidget *Picture = new QWidget(this);
QPixmap *border_image = new QPixmap(":/back.jpg");
QPalette newPalette = Picture->palette ( );
newPalette.setBrush (
 QPalette::Base,
 QBrush ( *border_image )
 );

newPalette.setBrush (
 QPalette::Background,
 QBrush ( *border_image )
);
Picture->setPalette ( newPalette ); 

Verfasst: 15. März 2008 17:18
von upsala
In den Examples gibt es 'Painting'-Beispiele. Arbeite die erst mal durch...