You may need to create your own ROI subclass, for example, a copy/paste of one of the existing RectROI, set a brush and use a fillRect instead of drawRect. The pen can be passed in on the
ROI constructor to change its style, or tweak it afterwards using the standard
QPen methods.
To draw behind plot data, then you can play with calling setZValue(10) on the ROI and/or plot items.
Patrick