更新UI
This commit is contained in:
238
Pages/P02_ShieldPage.cpp.bak
Normal file
238
Pages/P02_ShieldPage.cpp.bak
Normal file
@@ -0,0 +1,238 @@
|
||||
#include "P02_ShieldPage.h"
|
||||
#include "ui_P02_ShieldPage.h"
|
||||
#include <QDebug>
|
||||
#include <GlobalDefinitions/Variable.h>
|
||||
#include <QCheckBox>
|
||||
#include <QLabel>
|
||||
#include <PublicFunctions/Basic.h>
|
||||
#include <FileOperation/ConfigFiles.h>
|
||||
|
||||
P02_ShieldPage::P02_ShieldPage(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::P02_ShieldPage)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
m_OpcUaManager = OpcUaManager::instance(); // 全局唯一OPC实例
|
||||
m_DataCenter = DataCenter::instance(); // 全局唯一DataCenter实例
|
||||
QTimer::singleShot(10, this, &P02_ShieldPage::WinInit);
|
||||
|
||||
}
|
||||
|
||||
P02_ShieldPage::~P02_ShieldPage()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
void P02_ShieldPage::WinInit(){
|
||||
//所用定时器初始化
|
||||
QTimer* UIRefresh_Timer = new QTimer(this);
|
||||
connect(UIRefresh_Timer, &QTimer::timeout, this, &P02_ShieldPage::UIRefreshTimeOut);
|
||||
UIRefresh_Timer->setInterval(100); // 设置定时器间隔为 1000 毫秒(1 秒)
|
||||
UIRefresh_Timer->start();
|
||||
|
||||
for (int row = 1; row < ShieldConfigFile.size()-1; ++row)
|
||||
{
|
||||
QLabel* Label = findChild<QLabel*>(QString("TxtStatus_Shield_%1").arg(row-1));
|
||||
if (Label) {
|
||||
QString Text = ShieldConfigFile.at(row)[1];
|
||||
Text.replace("\\n","\n",Qt::CaseInsensitive);
|
||||
Label->setText(Text);
|
||||
}
|
||||
TrueColor.append(ShieldConfigFile.at(row)[2]);
|
||||
FalseColor.append(ShieldConfigFile.at(row)[3]);
|
||||
ShieldText.append(ShieldConfigFile.at(row)[4]);
|
||||
unShieldText.append(ShieldConfigFile.at(row)[5]);
|
||||
}
|
||||
}
|
||||
bool isRefreshBut = true;
|
||||
|
||||
void SetStyleStr(QLabel *L,bool Status,QString TStr,QString FStr){
|
||||
if(L == nullptr) return;
|
||||
QString Style = "";
|
||||
if(Status){
|
||||
Style = TStr;
|
||||
}else{
|
||||
Style = FStr;
|
||||
}
|
||||
if(L->styleSheet() != Style)
|
||||
L->setStyleSheet(Style);
|
||||
}
|
||||
void P02_ShieldPage::UIRefreshTimeOut(){
|
||||
if(gPageIndexStr != "P02")
|
||||
return;
|
||||
Status1 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:But_Shield.DataStatus1"] .toUInt();
|
||||
Status2 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:But_Shield.DataStatus2"] .toUInt();
|
||||
Shield1 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:But_Shield.isShield1"] .toUInt();
|
||||
Shield2 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:But_Shield.isShield2"] .toUInt();
|
||||
uint32_t TmpBool = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PageBOOLS.B0"] .toUInt();
|
||||
|
||||
// 急停的显示
|
||||
for (uint8_t i=0;i<12;i++) {
|
||||
QString TextObjName = QString("Led_EStop_%1").arg(i);
|
||||
QLabel* Label = findChild<QLabel*>(TextObjName);
|
||||
if (Label) {
|
||||
SetStyleStr(Label,getBitOf32Data(TmpBool, i,false),"color: rgb(255, 0, 0);","color: rgb(0, 255, 0);");
|
||||
}
|
||||
}
|
||||
// ESR状态显示
|
||||
SetStyleStr(ui->Status_IESR_1,getBitOf32Data(TmpBool, 12,false),"border-image: url(:/Icos/Icos/LED2_Green.png);","border-image: url(:/Icos/Icos/LED1_Rad.png);");
|
||||
SetStyleStr(ui->Status_IESR_2,getBitOf32Data(TmpBool, 13,false),"border-image: url(:/Icos/Icos/LED2_Green.png);","border-image: url(:/Icos/Icos/LED1_Rad.png);");
|
||||
SetStyleStr(ui->Status_QESR_1,getBitOf32Data(TmpBool, 14,false),"border-image: url(:/Icos/Icos/LED2_Green.png);","border-image: url(:/Icos/Icos/LED3_Rad (2).png);");
|
||||
SetStyleStr(ui->Status_QESR_2,getBitOf32Data(TmpBool, 15,false),"border-image: url(:/Icos/Icos/LED2_Green.png);","border-image: url(:/Icos/Icos/LED3_Rad (2).png);");
|
||||
|
||||
|
||||
for (int i = 0; i < 32; ++i) {
|
||||
QString TextObjName = QString("TxtStatus_Shield_%1").arg(i);
|
||||
QLabel* Label = findChild<QLabel*>(TextObjName);
|
||||
if (Label) {
|
||||
QString StyleStr = "border-image: url(:/Frames/null.png);\n";
|
||||
if(getBitOf32Data(Status1, i,false)){
|
||||
StyleStr = StyleStr + TrueColor[i]+"\n";
|
||||
}else{
|
||||
StyleStr = StyleStr + FalseColor[i]+"\n";
|
||||
}
|
||||
Label->setStyleSheet(StyleStr);
|
||||
}
|
||||
}
|
||||
if(isRefreshBut){
|
||||
for (int i = 0; i < 32; ++i)
|
||||
{
|
||||
QString CheckBoxObjName = QString("But_Shield_%1").arg(i);
|
||||
// 在当前窗口中查找指定名称的QCheckBox
|
||||
QCheckBox* checkBox = findChild<QCheckBox*>(CheckBoxObjName);
|
||||
if (checkBox) {
|
||||
if(getBitOf32Data(Shield1, i,false)){
|
||||
checkBox->setChecked(true);
|
||||
checkBox->setText(ShieldText[i]);
|
||||
}else{
|
||||
checkBox->setChecked(false);
|
||||
checkBox->setText(unShieldText[i]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 32; ++i) {
|
||||
QString CheckBoxObjName = QString("But_Shield_%1").arg(i+32);
|
||||
// 在当前窗口中查找指定名称的QCheckBox
|
||||
QCheckBox* checkBox = findChild<QCheckBox*>(CheckBoxObjName);
|
||||
if (checkBox) {
|
||||
if(getBitOf32Data(Shield2, i,false)){
|
||||
checkBox->setChecked(true);
|
||||
checkBox->setText(ShieldText[i]+32);
|
||||
}else{
|
||||
checkBox->setChecked(false);
|
||||
checkBox->setText(unShieldText[i]+32);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < 32; ++i) {
|
||||
QString TextObjName = QString("TxtStatus_Shield_%1").arg(i+32);
|
||||
QLabel* Label = findChild<QLabel*>(TextObjName);
|
||||
if (Label) {
|
||||
QString StyleStr = "border-image: url(:/Frames/null.png);\n";
|
||||
if(getBitOf32Data(Status1, i,false)){
|
||||
StyleStr = StyleStr + TrueColor[i+32]+"\n";
|
||||
}else{
|
||||
StyleStr = StyleStr + FalseColor[i+32]+"\n";
|
||||
}
|
||||
Label->setStyleSheet(StyleStr);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
void P02_ShieldPage::WriteShield( uint8_t var,uint8_t Index,bool Checked){
|
||||
isRefreshBut = false;
|
||||
QString TextObjName = QString("But_Shield_%1").arg(var*32+Index);
|
||||
|
||||
QCheckBox* checkBox = findChild<QCheckBox*>(TextObjName);
|
||||
if (checkBox) {
|
||||
|
||||
checkBox->setChecked(Checked);
|
||||
}
|
||||
int8_t Count = 0;
|
||||
if(var <2 && Index<32){
|
||||
QString NodeId = "ns=6;s=::AsGlobalPV:But_Shield.isShield"+QString::number(var+1);
|
||||
bool isOK = false;
|
||||
if(var == 0) {
|
||||
writeBitOf32Data(Shield1,Index,Checked);
|
||||
while (!m_OpcUaManager->writeNodeValue(NodeId,Shield1) && Count < 10) {
|
||||
Count++;
|
||||
}
|
||||
|
||||
}else if(var == 1){
|
||||
writeBitOf32Data(Shield2,Index,Checked);
|
||||
while (!m_OpcUaManager->writeNodeValue(NodeId,Shield2) && Count < 10) {
|
||||
Count++;
|
||||
}
|
||||
}
|
||||
|
||||
qDebug()<<"屏蔽状态切换,改变后的状态:"<<Checked << " 是否写入成功:" << isOK <<NodeId;
|
||||
}
|
||||
isRefreshBut = true;
|
||||
}
|
||||
|
||||
void P02_ShieldPage::on_But_Shield_0_clicked(bool checked){WriteShield(0,0,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_1_clicked(bool checked){WriteShield(0,1,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_2_clicked(bool checked){WriteShield(0,2,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_3_clicked(bool checked){;WriteShield(0,3,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_4_clicked(bool checked){WriteShield(0,4,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_5_clicked(bool checked){WriteShield(0,5,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_6_clicked(bool checked){WriteShield(0,6,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_7_clicked(bool checked){WriteShield(0,7,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_8_clicked(bool checked){WriteShield(0,8,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_9_clicked(bool checked){WriteShield(0,9,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_10_clicked(bool checked){WriteShield(0,10,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_11_clicked(bool checked){WriteShield(0,11,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_12_clicked(bool checked){WriteShield(0,12,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_13_clicked(bool checked){WriteShield(0,13,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_14_clicked(bool checked){WriteShield(0,14,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_15_clicked(bool checked){WriteShield(0,15,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_16_clicked(bool checked){WriteShield(0,16,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_17_clicked(bool checked){WriteShield(0,17,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_18_clicked(bool checked){WriteShield(0,18,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_19_clicked(bool checked){WriteShield(0,19,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_20_clicked(bool checked){WriteShield(0,20,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_21_clicked(bool checked){WriteShield(0,21,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_22_clicked(bool checked){WriteShield(0,22,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_23_clicked(bool checked){WriteShield(0,23,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_24_clicked(bool checked){WriteShield(0,24,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_25_clicked(bool checked){WriteShield(0,25,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_26_clicked(bool checked){WriteShield(0,26,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_27_clicked(bool checked){WriteShield(0,27,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_28_clicked(bool checked){WriteShield(0,28,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_29_clicked(bool checked){WriteShield(0,29,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_30_clicked(bool checked){WriteShield(0,30,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_31_clicked(bool checked){WriteShield(0,31,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_32_clicked(bool checked){WriteShield(1,0,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_33_clicked(bool checked){WriteShield(1,1,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_34_clicked(bool checked){WriteShield(1,2,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_35_clicked(bool checked){WriteShield(1,3,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_36_clicked(bool checked){WriteShield(1,4,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_37_clicked(bool checked){WriteShield(1,5,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_38_clicked(bool checked){WriteShield(1,6,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_39_clicked(bool checked){WriteShield(1,7,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_40_clicked(bool checked){WriteShield(1,8,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_41_clicked(bool checked){WriteShield(1,9,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_42_clicked(bool checked){WriteShield(1,10,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_43_clicked(bool checked){WriteShield(1,11,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_44_clicked(bool checked){WriteShield(1,12,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_45_clicked(bool checked){WriteShield(1,13,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_46_clicked(bool checked){WriteShield(1,14,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_47_clicked(bool checked){WriteShield(1,15,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_48_clicked(bool checked){WriteShield(1,16,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_49_clicked(bool checked){WriteShield(1,17,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_50_clicked(bool checked){WriteShield(1,18,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_51_clicked(bool checked){WriteShield(1,19,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_52_clicked(bool checked){WriteShield(1,20,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_53_clicked(bool checked){WriteShield(1,21,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_54_clicked(bool checked){WriteShield(1,22,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_55_clicked(bool checked){WriteShield(1,23,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_56_clicked(bool checked){WriteShield(1,24,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_57_clicked(bool checked){WriteShield(1,25,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_58_clicked(bool checked){WriteShield(1,26,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_59_clicked(bool checked){WriteShield(1,27,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_60_clicked(bool checked){WriteShield(1,28,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_61_clicked(bool checked){WriteShield(1,29,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_62_clicked(bool checked){WriteShield(1,30,checked);}
|
||||
void P02_ShieldPage::on_But_Shield_63_clicked(bool checked){WriteShield(1,31,checked);}
|
||||
Reference in New Issue
Block a user