Seite 1 von 1

QLabel als Hintergrundfenster

Verfasst: 19. Februar 2008 17:13
von Scorpion222
Hallo,
ich habe mich jetzt gerade verrücktgesucht oder ich bin zu blöd die richtigen Suchbegriffe zu nutzen.

Ich würde gerne ein QLabel als Hintergrundfenster über den Desktop setzen und alle anderen Fenster, auch andere Programme sollen da drüber liegen.

Ein Widget immer in den Vordergrund zu setzen geht ja mit der Funktion "setWindowFlags(Qt::WindowStaysOnTopHint);"

Jetzt meine Frage. Gibt es nicht analog bei QT eine Funktione die das Label/widget in den Hintergrund verankert?

Danke für Eure Mühe.
Gruß Scorpion

Verfasst: 19. Februar 2008 22:02
von VuuRWerK
Da wirst Du um die Boardmittel der Win32-Api nicht drumherum kommen. Such mal in der Doku(WinApi) nach "FindWindow()" und "SetParent()".

Etwas abstrakt aber grob zeigt es wie es gehen sollte:

Code: Alles auswählen

SetParent( this->winId(), FindWindow( "ProgMan", null ) );
"ProgMan" ist der "className" für den Desktop.

Ich glaube getDC sollte Dir ein Handle zurückliefern womit Du arbeiten kannst, bin mir da aber grad nicht ganz sicher und habe keine Zeit zum nachschauen. Wäre doch mal ne tolle Übung für Dich selber in der Doku zu suchen ;)

[edit]Ok hab doch mal nachgeschaut, es ist nicht getDC sondern winId, hab es entsprechend im Pseudocode geändert. winId() hatte ich vorhin auch schon im Kopf aber das lag irgendwie zu nah dass es das hätte sein können =)[/edit]

Gut Schuß
VuuRWerK ;)