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
QT 4.1.1 Hintergrundfarbe eines Widgets setzen...
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);
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);
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
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();
}
}