.h
#ifndef CCLEANLOOKSSTYLE_H
#define CCLEANLOOKSSTYLE_H
#include <QCleanlooksStyle>
#include "control_global.h"
class CONTROLSHARED_EXPORT CCleanlooksStyle : public QCleanlooksStyle
{
    Q_OBJECT
public:
    CCleanlooksStyle();
    void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                       QPainter *painter, const QWidget *widget = 0) const;
};
#endif // CCLEANLOOKSSTYLE_H
.cpp
#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;
}
像这样把你用的style作为基类派生一个新的style,然后专门在PE_FrameRect这里处理一下,最后把你要的控件设置该style。
注意这样写对应所有聚焦的虚线框都不画,如果你对整个app设置该style,该app就没有虚线框了,如果该派生style想只对QListWidget不要虚线框,你可以试试在过滤时对widget做个筛选:
    case PE_FrameFocusRect:
        {
            QListWidget * pList = qobject_cast<QListWidget *>(widget);
            if(pList)
            {
                break;
            }
            else
            {
                QCleanlooksStyle::drawPrimitive(element, option, painter, widget);
            }
            break;
        }
不过我没试过,你可以去试试。