我的做法是重载当前使用的QStyle,重新实现函数,比如当前我使用的是QCleanlooksStyle,那么我继承一个叫CCleanlooksStyle的类实现如下:
#include "ccleanlooksstyle.h"
CCleanlooksStyle::CCleanlooksStyle()
{
}
void CCleanlooksStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const
{
switch (element)
{
case PE_FrameFocusRect:
{
break;
}
default:
{
QCleanlooksStyle::drawPrimitive(element, option, painter, widget);
break;
}
}
return;
}
然后对应用程序或者就那个tablewidget调用setStyle函数就可(对应用程序设置的话所有控件都不会有聚焦的虚线框)。