Hi, How about this?
In KWidgetAddons (out-commented code shows "stock" 5.35.0): KTitleWidget::KTitleWidget(QWidget *parent) : QWidget(parent), d(new Private(this)) { QFrame *titleFrame = new QFrame(this); // titleFrame->setAutoFillBackground(true); // titleFrame->setFrameShape(QFrame::StyledPanel); titleFrame->setFrameShadow(QFrame::Plain); // titleFrame->setBackgroundRole(QPalette::Base); In breeze/kstyle/breezestyle.cpp (Style::polish(QWidget*)): } else if( qobject_cast<QFrame*>( widget ) && widget->parent() && widget->parent()->inherits( "KTitleWidget" ) ) { // widget->setAutoFillBackground( false ); // if( !StyleConfigData::titleWidgetDrawFrame() ) // { widget->setBackgroundRole( QPalette::Window ); } QFrame *frame = qobject_cast<QFrame*>( widget ); if( StyleConfigData::titleWidgetDrawFrame() ) { frame->setAutoFillBackground( true ); frame->setFrameShape( QFrame::StyledPanel ); frame->setBackgroundRole( QPalette::Base ); } else { frame->setAutoFillBackground( false ); frame->setFrameShape( QFrame::NoFrame ); frame->setBackgroundRole( QPalette::Window ); } } That moves the entire choice of the title frame rendering style to the style plugin and the end result looks the same (I didn't to a pixel analysis yet). R.