Seite 1 von 1

[gelöst] QT4 DoubleBuffer Zugriff?

Verfasst: 14. Juli 2005 18:04
von spellcaster
Hi!

Also, ich habe ein selbstgebasteltes Widget, ohne childs. Ich würde gerne dieses Widget auf ein Pixmap rendern um davon eine skalierte Version für eine Art "Vorschau" zu nutzen.

Nun wird ja in QT4 meines Wissens nach eh ein DubleBuffer genutzt. Kann ich irgendwie an diesen Buffer ran, um ne skalierte Kopie davon zu erstellen?

Oder sollte ich besser eine Pixmap der entsprechende Grösse erzeugen, mir nen Painter für diese Pixmap erstellen und dann darauf mein Widget anzeigen?

Danke,
spellcaster

Verfasst: 14. Juli 2005 18:39
von lepsai
QPixmap pix = grabWidget(meinWidget);

QImage img= pix.convertToImage();
img = img.smoothScale(...)

und fertig....

Double Buffering hat mit deinem Problem nix zu tun...

Verfasst: 14. Juli 2005 18:54
von spellcaster
lepsai hat geschrieben:QPixmap pix = grabWidget(meinWidget);

und fertig....

Double Buffering hat mit deinem Problem nix zu tun...
Klasse danke :)
Wenn man Qt noch nicht so kennt, dann sucht man halt mannchmal nach etwas zu komplizierten Lösungen ;)

Verfasst: 14. Juli 2005 19:48
von BartSimpson
Das hört sich gut an, Ich habe gerade mal geachaut, aber das finde ich in der Qt Doc nicht:(

Verfasst: 14. Juli 2005 20:17
von lepsai
was findest du denn nicht?

Verfasst: 14. Juli 2005 20:19
von BartSimpson
die Funktion grabWidget()

Verfasst: 14. Juli 2005 20:20
von spellcaster
grabWidget ist eine statische Methode von QPixmap:

Code: Alles auswählen

QPixmap grab = QPixmap::grabWidget(widget);

Verfasst: 14. Juli 2005 20:23
von BartSimpson
Danke. Ich hatte unter QWidget geschau:(