In Qt, their are 3 Classes that interact with each other. The Style, Option and Widgets. When a widget is being prepared to be drawn, it is passed to an Option. The Option is essentially a state from the Widget. This Option is then passed to the Style, which will use these parameters/variable from the Option to render it to the screen.
My question is, what purpose does the Option serve? Why would the Style not take the Widget as a parameter to be drawn and pull the attributes directly anyway, it does this for the Option? It seems that everything the Option does, could be moved to the Style and save creating this container class. Additionally, why it is called an “option”, I find the name very misleading as options generally refers to a series of choices, nothing to do with a data transfer object.