红绿灯

1、效果

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

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

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);//绿色

猜你喜欢

转载自www.cnblogs.com/judes/p/9480587.html