#include "tablevalue.h" #include #include TableValue::TableValue() { // timer.setSingleShot(true); connect(&animationTimer, SIGNAL(timeout()), this, SLOT(updateColor())); // connect(&timer, SIGNAL(timeout()), &animationTimer, SLOT(stop())); // connect(&timer, SIGNAL(timeout()), this, SLOT(updateColor())); // setAutoFillBackground(true); } void TableValue::setText(const QString &str) { QLabel::setText(str); time = QTime::currentTime().addSecs(2); animationTimer.start(33); // updateColor(); } void TableValue::updateColor() { int remain = qBound(0, QTime::currentTime().msecsTo(time), 2000); int a = 255 * remain / 4000; if (a > 1) setStyleSheet(QString().sprintf("background-color: rgba(255, 0, 0, %d)", a)); else { setStyleSheet("background-color: rgba(255, 0, 0, 0)"); animationTimer.stop(); } }