计时器
void CCMainWindow::initTimer()
{
QTimer* timer = new QTimer(this);
timer->setInterval(500);
connect(timer, &QTimer::timeout, [this] {
static int level = 0;
if (level == 99)
{
level = 0;
}
level++;
setLevelPixmap(level);
});
timer->start();
}
通过计时器自动更新等级
按照计时器更新等级图片的截图
两位数,十位数 、个位数。
void CCMainWindow::setLevelPixmap(int level)
{
QPixmap levelPixmap(ui.levelBtn->size());
levelPixmap.fill(Qt::transparent);
QPainter painter(&levelPixmap);
painter.drawPixmap(0,4,QPixmap(":/Resources/MainWindow/lv.png"));
int unitNum = level % 10; //个位数
int tenNum = level / 10; //十位数
//十位
painter.drawPixmap(10,4,QPixmap(":/Resources/MainWindow/levelvalue.png"),tenNum * 6,0,6,7);
//个位
painter.drawPixmap(16,4,QPixmap(":/Resources/MainWindow/levelvalue.png"), unitNum * 6, 0, 6, 7);
ui.levelBtn->setIcon(levelPixmap);
ui.levelBtn->setIconSize(ui.levelBtn->size());
}