Seite 1 von 1
QT 4.1.1 Hintergrundfarbe eines Widgets setzen...
Verfasst: 23. März 2006 11:53
von nando
hi,
kann mir einer sagen, wie ich die hintergrundfargbe eines beliebigen QWidgets setze?
habe folgendes probiert...
A::func()
{
QPalette P;
P.setColor(QPalette::Window, Qt::darkYellow);
m_pMyWidget->setPalette(P);
}
funzt leider nicht...
gruss,
nando
Verfasst: 23. März 2006 13:20
von autip
Versuchs mal damit:
void QWidget::setBackgroundColor ( const QColor & color )
Use the palette instead.
For example, if you have code like
widget->setBackgroundColor(color);
you can rewrite it as
QPalette palette;
palette.setColor(widget->backgroundRole(), color);
widget->setPalette(palette);
Oder:
void QWidget::setPaletteBackgroundColor ( const QColor & color )
Dann Sicherheitshalber vielleicht noch das:
setAutoFillBackground(true);
Gute Idee
Verfasst: 4. April 2006 08:24
von stimpy
Hi!
Ich habe ein selbstgeköppeltes Widget in ein Layout gepackt, da war die Hintrgrundfarbe futsch.
Der Aufruf von "setAutoFillBackground(true);" hat in dem Fall geholfen...
Verfasst: 5. April 2006 00:01
von FlorianBecker
Code: Alles auswählen
void setWidgetBackgroundColor( QWidget *widget, const QColor &color ) {
if ( color.isValid() ) {
QPalette palette( widget -> palette() );
palette.setColor( QPalette::Background, color );
widget -> setAutoFillBackground( true );
widget -> setPalette( palette );
widget -> setBackgroundRole( QPalette::Background );
widget -> repaint();
}
}