Correctly draw the background of progress bar

Closes #12271.
This commit is contained in:
Chocobo1 2021-03-02 11:50:16 +08:00 committed by sledgehammer999
parent 42b22d6645
commit cf1e61bcf5
No known key found for this signature in database
GPG key ID: 6E4A2D025B7CC9A2

View file

@ -53,7 +53,6 @@ void ProgressBarDelegate::initProgressStyleOption(QStyleOptionProgressBar &optio
option.progress = static_cast<int>(index.data(m_dataRole).toReal());
option.maximum = 100;
option.minimum = 0;
option.state |= (QStyle::State_Enabled | QStyle::State_Horizontal);
option.textVisible = true;
}
@ -65,9 +64,11 @@ void ProgressBarDelegate::paint(QPainter *painter, const QStyleOptionViewItem &o
QStyleOptionProgressBar newopt;
newopt.initFrom(&m_dummyProgressBar);
newopt.rect = option.rect;
newopt.state = option.state;
initProgressStyleOption(newopt, index);
painter->save();
m_dummyProgressBar.style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &option, painter);
m_dummyProgressBar.style()->drawControl(QStyle::CE_ProgressBar, &newopt, painter, &m_dummyProgressBar);
painter->restore();
}