Anzeige:
Ergebnis 1 bis 3 von 3

Thema: [Qt]Transparentes Dialog-Fenster

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.10.2002
    Ort
    Witten
    Beiträge
    41

    [Qt]Transparentes Dialog-Fenster

    Hi,

    wie kann ich den Hintergrund eines Dialogfensters transparent gestalten?
    Habe es bereits mit setWindowOpacity() probiert, was auch funktioniert, nur das Problem ist, dass eben auch sämtliche Widgets innerhalb des Dialoges transparent sind. Es würde auch gehen, wenn ich wüsste, wie man die Kindsfenster wieder normal setzten würde, doch ein setWindowOpacity(1.0) funktioniert einfach nicht. Langsam verzweifle ich ein wenig dabei. Wäre für jede Hilfe dankbar.

    HeReSY

  2. #2
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Was ist der "Hintergrund" eines Dialogs?
    Meinst du das in etwas so:
    Angenommen der Dialog enthält einen Button und ein Textfeld, dass dann nach dem Einstellen der Transparenz nur noch Button und Textfeld sichtbar bleibt, und alles andere (auch Fensterdekoration unsichtbar wird)?

    Ich habe das auch mal ausprobiert:
    Code:
    CanTerm.setWindowOpacity( 0.5 );
    CanTerm.ui.textEdit->setWindowOpacity( 1.0 );
    CanTerm ist mein QMainWindow. ui ist das Objekt, das die Oberflächenelemente (z.B. den QTextEdit) enthält.
    Trotz der zweiten Zeile wird der TextEdit auch halbtransparent. Es sieht also so aus, als ob die Opazität des obersten Widgets immer an die Childwidgets weitergegeben wird. Selbst wenn für diese ein abweichender Wert gesetzt wird.
    (Bei mir Qt-4.4.3)
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Seit QT 4.1 machst du so etwas über Attribute.
    PHP-Code:
      setAttribute Qt::WA_NoBackgroundtrue );
      
    setAttribute Qt::WA_StyledBackgroundfalse );
      
    setAttribute Qt::WA_OpaquePaintEventtrue );
      
    setAttribute Qt::WA_X11NetWmWindowTypeDesktopfalse ); 
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •