Question: I have `List<item>` containing an items collections of name, years and values as follows

```
Names   years  Values
=====   =====  =====
Smith   2010   777
Smith   2011   999
Jones   2007   01
Jones   2008   03
Jones   2009   05
Jones   2010   06
Jones   2011   09

```

I want to write a LINQ query that returns me a a string of CSV values with the "name" followed by "values" for each year beginning with the earliest year (in this case its 2007) and if the "years" data is missing/absent (in this case Smith does not have any values for years 2007,2008,2009) then substitute the result with 0 

As follows:

```
Results:
Smith,0,0,0,777,999
Jones,01,03,05,06,09

```

Answer: 
I believe the issue that you are running into is that once you alter the style of a GUI element, Qt can no longer draw it using your OS's native controls.

When you alter the style of any kind of native widget (tabs, combo boxes, etc), you should be prepared to take manual control of the style for every aspect of that widget since you are saying that you don't want it to look like a native widget anymore, and Qt has to use a different underlying painting system for rendering the widget.
@Mario and in addition to what Chris has already said about CSS styling overriding native OS styling:
Any application of CSS styling effectively calls 

```
QWidget::setStyleSheet(const QString & styleSheet)

```

on the destination QWidget. This overwrites the previously set styleSheet css with a QString containing the new styleSheet; the widget then resets itself and parses the new sheet. Qt isn't smart enough to detect which parts of the widget styling that your new stylesheet will affect (and which it won't) and besides that, CSS doesn't support the toggling on and off of whether a particular attribute is applied. Qt would need to add the ability to remove as well as add CSS attributes for layering multiple stylesheets on one Widget to work (and you'd also presumably need a 'RemoveAllStyling()' function).