tablevalue.cpp
907 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "tablevalue.h"
#include <QColor>
#include <QtDebug>
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();
}
}