I tried all these methods to set the background. Including an idea from another thread that suggested using a slot that processed the selection model's change of current index. None of these worked very well.

What is working so far is to reimplement the editorEvent and use setData to change the background color role for the model index on gain focus and reset on lose focus (the reset isnt' working yet, but I'll figure it out soon).

I have a question that I wonder if you can answer... my item delegate is a frame with several child widgets. One of the things I tried was to change the color of the frame panel. The frame's geometry is to cover the whole viewport by default (it seems, anyway since that's what the outline looks like when the editor is drawn). If I change the geometry for the frame in UpdateGeometry, none of the child widgets gets drawn as an active widget - they stay just as a painted representation. Can you explain why that would happen?