QT/KDE Applet - QLCDNumer mit transparentem Hintergrund



  • Ich bastel mir gerade ein kleines Applet für die KDE-Leiste. Dabei soll aber der Hintergrund der Leiste zu sehen sein und kein grauer (oder ander fabiger) Kasten.

    Ich habe also in KDevelop3 ein KDE-Applet-Projekt erstellt. In dem Konstruktor des Applets (wo bereits eine QLCDNumber erstellt wird) habe ich dann folgendes geschrieben:

    //lcd ist ein Zeiger auf QLCDNumber (Member des Applets)
    	lcd = new QLCDNumber( this, "lcd" );
    	lcd->setGeometry( QRect( 49, 22, 21, 21 ) );
    	//lcd->setPaletteForegroundColor( red );
    	lcd->setFrameShape( QLCDNumber::NoFrame );
    	lcd->setFrameShadow( QLCDNumber::Plain );
    	lcd->setNumDigits( 2 );
    	lcd->setSegmentStyle( QLCDNumber::Flat );
    

    Das geht dann auch, bloss dass die Ziffern in schwarz sind (der Hintergrund ist transparent). Wenn ich nun aber die Vordergrungfarbe auf rot setze, ist der Hintergrund grau!

    Debian Sarge

    • KDE 3.2.2
    • KDevelop 3.0.3
    • QT 3.2.3


  • Jetzt hab ich die oben erst versteckt und lasse sie über einen Timer wieder sichtbar machen. Danach funktioniert das setzen der Farbe......... aber der Hintergrund ist statisch, also beim Verschieben des Applets bleibt der Hintergrund "auf dem Applet kleben".... nicht dass was ich möchte....

    Aber wie gehts jetzt?! 😮 😕



  • Transparenz mit Qt ist immer so eine sache... die einzige möglichkeit ist meistens, eine Maske zu setzen... wäre hier sehr umständlich, weil sich hier das objekt ja dauernd ändert...



  • Aber das Komische ist ja, dass es funktioniert, solange ich keine Vordergrundfarbe setze!


Anmelden zum Antworten