переопределить QProxyStyle::subControlRect() для CE_RubberBand и прописать свою отрисовку.
Сделала так:
class SE_Style : public QProxyStyle
{
public:
SE_Style() : QProxyStyle(){}
protected:
void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p, const QWidget *w) const
{
switch(element)
{
case CE_RubberBand :
{
QPen pen (Qt::white);
pen.setWidthF(3.);
p->setPen(pen);
p->drawRect(opt->rect);
}
break;
default:
QProxyStyle::drawControl(element, opt, p, w);
}
}
};
В главном окне приложения:
qApp->setStyle(new SE_Style);
Работает, но два замечания.
1. Почему-то pen.setWidth() и pen.setWidthF() эффекта не оказывают, всегда перо косметическое.
2. При выделении рамкой курсор мыши подтормаживает, до установки стиля этого не было.