添加OpenCv

This commit is contained in:
2025-09-15 22:28:43 +08:00
parent c0593df9e1
commit 94282fb1d9
423 changed files with 622349 additions and 97439 deletions

View File

@@ -1,14 +1,216 @@
#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实例
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();
QList<QStringList> FileData = ConfigFiles().ReadFile_Csv("./ProgramConfig/UI_屏蔽界面文本_配置.csv");
qDebug()<<FileData.size();
for (int row = 1; row < FileData.size()-1; ++row)
{
QString TextObjName = QString("TxtStatus_Shield_%1").arg(row-1);
QLabel* Label = findChild<QLabel*>(TextObjName);
if (Label) {
QString Text = FileData.at(row)[1];
Text.replace("\\n","\n",Qt::CaseInsensitive);
Label->setText(Text);
}
TrueColor.append(FileData.at(row)[2]);
FalseColor.append(FileData.at(row)[3]);
ShieldText.append(FileData.at(row)[4]);
unShieldText.append(FileData.at(row)[5]);
qDebug()<<row<<FileData.at(row)[1]<<TrueColor[row-1]<<FalseColor[row-1]<<ShieldText[row-1]<<unShieldText[row-1];
}
}
bool isRefreshBut = true;
void P02_ShieldPage::UIRefreshTimeOut(){
if(this->isHidden())
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();
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);}