源码来自b站up主老实的徐码农
比较重要的点:
1.qss
QProgressBar{
border-radius:6px;
border:none;
background:rgb(137, 204, 208);
}
QProgressBar::chunk{
background:rgb(138, 103, 205);
border-radius:6px;
}
2.属性textVisible:控制文字可视化
3.他使用QVariantAnimation来达到定时刷新的效果
m_vAnimation =new QVariantAnimation(this);
if(m_vAnimation){
m_vAnimation->setDuration(200);
m_vAnimation->setKeyValueAt(0,0.0);
m_vAnimation->setKeyValueAt(1,0.5);
m_vAnimation->setLoopCount(-1);
m_vAnimation->start();
connect(m_vAnimation,&QVariantAnimation::valueChanged,this,&progressbar::sltAtIndexChanged);
}
无限循环,每次200ms,第0ms值为0.0,第1ms值为0.5。
4.使用QList<>容器管理ui中的widget。