Screenshot

Alles rund um die Programmierung mit Qt
Antworten
flownfluid
Beiträge: 80
Registriert: 6. Januar 2005 12:54

Screenshot

Beitrag von flownfluid »

Hallo zusammen,

kann mir jemand helfen wie ich zu dem Hintergrund komme des ParentWidget?

Ich habe es mit

Code: Alles auswählen

grabWidget(parentWidget()...)
versucht doch leider steht in der Spez
If the widget has any children, then they are also painted in the appropriate positions.
Ich bräuchte nun irgendeine Lösung indem ich nur das Parent bekomme ohne "die Kinder".

Vielen Dank und Gruss
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

im zweifelsfall vllt. fuer alle child-widgets einmal hide() aufrufen?

mfg,
julian
flownfluid
Beiträge: 80
Registriert: 6. Januar 2005 12:54

Beitrag von flownfluid »

Es muss doch irgendwie eine Möglichkeit geben die Oberfläche des "parentwidget" als Pixmap zu kriegen?

In QT4 kann man ja Halbtransparente Widget machen und dort braucht man ja das Gleiche. Weiss jemand wie man das machen kann oder wie Trolltech das gelöst hat?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

So wie grabWidget funktioniert - nein. Aber dort steht im Grunde auch der Workaround - ähnlich wie Freaky gesagt hat

http://doc.trolltech.com/4.3/qpixmap.html#grabWidget

Transparente Widgets haben damit rein garnichts zu tun.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
flownfluid
Beiträge: 80
Registriert: 6. Januar 2005 12:54

Beitrag von flownfluid »

Wieso haben halbtransparente Widget mit dem nichts zu tun?

Wie sonst sollte man ein halbtransparentes Widget erstellen können ohne den Hintergrund,respektive die Oberfläche des parentwidget, zu kennen?
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

guck dir mal QWidget::render an.
mal dein parent einfach in ein pixmap damit.
ehrlich gesagt würde ich transparenz aber ebenfalls nicht so realisieren, sondern mit der palette.
mach dir eine QPalette und setz deine werte auf halbtransparent (A von RGBA auf 128 -> QColor(255,0,0,128) = halbtransparentes rot).
Diese Palette übergibst du dann all deinen childs.
Antworten