1、效果

红绿灯_二级

2、工程加入源文件【不对外公开】

红绿灯_html_02

3、在ui里拖一个QLabel,提升为WarnLabel

红绿灯_重载函数_03

4、根据项目需要修改重载函数



声明:
void changeColor(int, bool on);
void changeColor(uint8_t, uint8_t);//(0,1):红色 (1,0):红色 (0,0):绿色
void changeColor(uint8_t, uint8_t,bool on);
void changeState(bool start);//true闪烁false不闪烁
void changeTips(const QString&);//鼠标提示



定义:
void WarnLabel::changeColor(int a, bool on)
{
if (0 == a)
{
_startColor = QColor(0, 255, 0);/* 绿色正常 */
_midColor = QColor(0, 196, 0);
setToolTip("状态: 正常");
}
else if (1 == a)
{
_startColor = Qt::yellow;/* 橙色预警 */
_midColor = QColor(196, 196, 0);
setToolTip("状态: 预警");
}
else if (2 == a)
{
_startColor = Qt::blue;;/* 蓝色预警 */
_midColor = QColor(0, 0, 196);
setToolTip("状态: 一级报警");
}
else if (3 == a)
{
_startColor = Qt::red;/* 红色预警 */
_midColor = QColor(196, 0, 0);
setToolTip("状态: 二级报警");
}
changeState(on);
}


5、使用



ui.label_17->changeColor(0, 0, true);//绿色


 




长风破浪会有时,直挂云帆济沧海!