#include "NumberFrame.h" NumberFrame::NumberFrame(QWidget* parent): QLabel(parent) { init(); } void NumberFrame::init() { setMinimumSize(MinWidth, MinHeight); setAlignment(Qt::AlignCenter); setFrameShape(QFrame::NoFrame); } void NumberFrame::setColor(const QColor& color) { setPalette(QPalette(color)); } void NumberFrame::setValue(int value) { setMinimumWidth(value >= 100? MinWidth100: MinWidth); setVisible(value > 0); setText(QString::number(value)); } void NumberFrame::paintEvent(QPaintEvent* event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); QPen pen("#7c7c7c"); pen.setWidthF(0.5); painter.setPen(pen); painter.setBrush(QBrush(palette().color(QPalette::Button))); painter.drawRoundedRect(rect().adjusted(1, 1, -1, -1), Radius, Radius); QLabel::paintEvent(event); }