[Interest] Changing QSpinEdit color

A.Dmitrovsky tdiff at yandex.ru
Wed Jun 6 11:07:44 CEST 2012


here i found where is behaviour André is talking about documented:

http://qt-project.org/doc/qt-4.8/stylesheet.html: 
When a style sheet is active, the QStyle returned by QWidget::style() is a wrapper "style sheet" style, not the platform-specific style. The wrapper style ensures that any active style sheet is respected and otherwise forwards the drawing operations to the underlying, platform-specific style (e.g., QWindowsXPStyle on Windows XP).


06.06.2012, 12:34, "André Somers" <andre at familiesomers.nl>:
> Op 5-6-2012 20:47, "Alexander Carôt" schreef:
>
>>  Hi all,
>>
>>  I have a question in context with QSpinEdit:
>>
>>  On a Mac this call successfully changes the color of the spinEdit:
>>
>>  spin->setAutoFillBackground(true);
>>  spin->setPalette( *greenFgPalette );
>>
>>  On Win, however, this call seems to be ignored - the spinEdit remains white. Can anyone tell me how to make it work under Win ?
>>
>>  Thanks in advance,
>>  best
>>
>>  Alex
>
> Styles are free to ignore the set palette, and some styles, especially
> those using native rendering like on windows, do in fact ignore the
> palette. However, all styles will obey the style sheet. So, instead of
> the palette, use a style sheet.
>
> spin->setStyleSheet("QSpinBox {background-color: rgb(0, 255, 0);}");
>
> That should work on both platforms.
>
> André
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest



More information about the Interest mailing list