| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #include "ch_widget.h"
- #include "ui_ch_widget.h"
- #include "warningwnd.h"
- #include <QDebug>
- #define RunStatus "#ch_Widget{border: 2px solid #00FF00;background-color: #FFFFFF;border-radius: 15px;}QLabel { color: #00FF00; }"
- #define StopStatus "#ch_Widget{border: 2px solid #000000;background-color: #FFFFFF;border-radius: 15px;}QLabel { color: #000000; }"
- #define WarningStatus "#ch_Widget{border: 2px solid #0000FF;background-color: #FFFFFF;border-radius: 15px;}QLabel { color: #0000FF; }"
- ch_Widget::ch_Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::ch_Widget),
- m_pCHData(nullptr),
- m_pChWarning(nullptr)
- {
- ui->setupUi(this);
- pTimeLastset=QTime::currentTime();
- }
- ch_Widget::~ch_Widget()
- {
- delete ui;
- }
- void ch_Widget::setDataCHP(int nIndex, PowerInfo *pdata,PowerWarningInfo* pWarn)
- {
- if(pdata&&pWarn)
- {
- m_nIndex=nIndex;
- m_pCHData=pdata;
- m_pChWarning=pWarn;
- UpdateData();
- }
- }
- void ch_Widget::UpdateData()
- {
- if(m_pCHData)
- {
- ui->label_CH->setText("CH"+QString::number(m_nIndex));
- ui->label_V->setText(QString::number(m_pCHData->voltage, 'f', 2));
- ui->label_I->setText(QString::number(m_pCHData->current, 'f', 2));
- ui->label_P->setText(QString::number(m_pCHData->power,'f', 2));
- ui->label_W->setText(QString::number(m_pCHData->consumption, 'f', 2));
- //if(m_pCHData->status!=nStatus)
- {
- nStatus=m_pCHData->status;
- if(nStatus==1)
- {
- if(m_pChWarning&&(m_pChWarning->w_voltage_up||m_pChWarning->w_voltage_down||m_pChWarning->w_current||m_pChWarning->w_power||m_pChWarning->w_consumption))
- {
- this->setStyleSheet(WarningStatus);
- }else
- {
- this->setStyleSheet(RunStatus);
- }
- /*
- if(m_pChWarning)
- {
- if(m_pChWarning->w_voltage_up) {qDebug()<<"HaveWarning "<< m_nIndex<<" V_up";}
- if(m_pChWarning->w_voltage_down){qDebug()<<"HaveWarning "<< m_nIndex<<" V_down";}
- if(m_pChWarning->w_current) {qDebug()<<"HaveWarning "<< m_nIndex<<" I_up";}
- if(m_pChWarning->w_power) {qDebug()<<"HaveWarning "<< m_nIndex<<" P_up";}
- if(m_pChWarning->w_consumption) {qDebug()<<"HaveWarning "<< m_nIndex<<" SUM_up";}
- }else
- {
- qDebug()<<"No Warning Load CH"<<m_nIndex;
- }*/
- }else
- {
- this->setStyleSheet(StopStatus);
- }
- }
- }
- }
- void ch_Widget::mouseDoubleClickEvent(QMouseEvent *event)
- {
- if (event->buttons()&Qt::MouseButton::LeftButton)
- {
- qDebug()<<"Clicke CH"+QString::number(m_nIndex);
- QTime pNow=QTime::currentTime();
- if(pTimeLastset.msecsTo(pNow)<250)
- {
- qDebug()<<"DClicke CH"+QString::number(m_nIndex);
- emit singal_DoubleClick(m_nIndex);
- }
- pTimeLastset=pNow;
- }
- }
- bool ch_Widget::event(QEvent *event)
- {
- if (event->type() == QEvent::TouchBegin ||
- event->type() == QEvent::TouchUpdate ||
- event->type() == QEvent::TouchEnd) {
- // 不处理触摸事件,交给父级(QScrollArea 的视口)处理
- event->ignore(); // 标记事件未处理
- return false;
- }
- return QWidget::event(event);
- }
|