Quilting-lw/sharedviews/promptdialog.cpp
2026-01-23 16:37:18 +08:00

2100 lines
74 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "promptdialog.h"
#include "ui_promptdialog.h"
#include <bitset>
#include <QDebug>
PromptDialog::PromptDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::PromptDialog)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
setAttribute(Qt::WA_TranslucentBackground, true);
connect(g_pMachine, SIGNAL(siMcInfoChange()), this, SLOT(slotMCInfoChange()));
connect(ui->pushButton_BValue,SIGNAL(clicked(bool)),this,SLOT(slot_BladePressure_Clicked()));
initDialog();
initControl();
}
PromptDialog::~PromptDialog()
{
delete ui;
}
//初始化窗体
void PromptDialog::initDialog(int sel)
{
m_funType = sel;
m_filePath.clear();
m_spindleAngle = 0;//主轴旋转角度值
m_length = 0;// 自动拉料长度
m_area = 0;
m_time = 0;//主轴研车-时间
m_speed = 0;//主轴研车-速度
setTitleStr("");
setContentStr("");
setContentProcessStr("");
ui->labelContentInfo->setText("");
ui->labeBreakHead->setText("");
ui->buttonOk->setEnabled(true);
ui->frameDetecBtn->hide();
ui->frameTwo->hide();
ui->frameThree->hide();
ui->frameProcessBtn->hide();
ui->frameWarrantBtn->hide();
ui->frameProcess->hide();
ui->frameChangePassword->hide();
ui->frameSpindleRotate->hide();
ui->frameWorkArea->hide();
ui->frameHMIDecrypt->hide();
ui->frameKnifePressure->hide();
ui->frameFanArea->hide();
ui->frameSpdSelect->hide();
ui->labelContentInfo->hide();
ui->labeBreakHead->hide();
ui->labelContentProcess->hide();
ui->labelContentWarrant->hide();
ui->frame_Force->hide();//刀压设置弹窗
ui->frame_FileTransfer->hide();//文件传输弹窗
ui->frame_KnifeAndPenSd->hide();//铣切机--速度选择
ui->frameWorkHeadSet->hide();//工作机头设置
ui->buttonForward->hide();//隐藏正转按钮
ui->buttonReverse->hide();//隐藏反转按钮
if (sel == BTN_OK_CANCEL)//确定、取消
{
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if (sel == BTN_OK)//确定
{
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonOk->move(m_btnCancelPoint);
}
else if (sel == BTN_R_R_S || sel == BTN_O_S_C)//重命名、替换、跳过 覆盖、另存为、关闭
{
ui->frameThree->show();
ui->buttonClose->hide();
ui->buttonOverWrite->hide();
ui->buttonRename->hide();
ui->buttonReplace->hide();
ui->buttonSaveAs->hide();
ui->buttonSkip->hide();
if(sel == BTN_R_R_S)
{
ui->buttonRename->show();
ui->buttonReplace->show();
ui->buttonSkip->show();
}
else
{
ui->buttonClose->show();
ui->buttonOverWrite->show();
ui->buttonSaveAs->show();
}
}
else if (sel == BTN_RESTART)//重启
{
ui->frameProcessBtn->show();
ui->buttonRestart->show();
ui->buttonUpdataCancel->hide();
ui->buttonRestart->move(m_btnCancelPoint);
}
else if (sel == BTN_UCANCEL)//升级取消
{
ui->frameProcessBtn->show();
ui->buttonRestart->hide();
ui->buttonUpdataCancel->show();
}
else if (sel == BTN_WARRANT)//授权按钮
{
ui->frameWarrantBtn->show();
}
// 底线检测,面线检测
else if(sel == BTN_BOTTOM || sel == BTN_FACE)
{
ui->frameDetecBtn->show();
}
else if(sel == BTN_NONE)//无按钮
{
}
else if(sel == BTN_P_NONE)//无按钮
{
}
else if(sel == BTN_HMI_DECRYPT)//界面解密
{
ui->frameHMIDecrypt->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_CHANGE_PASSWORD)//修改一级密码
{
ui->frameChangePassword->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_SPINDLE_ROTATE)//主轴旋转角度
{
ui->frameSpindleRotate->show();
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
ui->labelSpindleAngle->setText(tr("Spindle angle"));
ui->labelSpindleAngleUnit->setText(tr("deg"));
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
// ui->buttonForward->show();//显示正转按钮
// ui->buttonReverse->show();//显示反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_ROTATE_ROTATE)//旋转电机旋转
{
ui->frameSpindleRotate->show();
ui->buttonSpindleAngleValue->setText("0.00");
ui->labelSpindleAngle->setText(tr("Rotate angle"));
ui->labelSpindleAngleUnit->setText(tr("deg"));
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
// ui->buttonForward->show();//显示正转按钮
// ui->buttonReverse->show();//显示反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_SPINDLE_GRANDE)//主轴研车
{
ui->frameSpindleRotate->show();
ui->buttonSpindleAngleValue->setText("0");
ui->labelSpindleAngle->setText(tr("Spindle time"));
ui->labelSpindleAngleUnit->setText(tr("s"));
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_AUTOMATIC_PULLMA)//自动拉料
{
ui->frameSpindleRotate->show();
ui->buttonSpindleAngleValue->setText("0");
ui->labelSpindleAngle->setText(tr("autoPull"));
ui->labelSpindleAngleUnit->setText(tr("mm"));
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
// ui->buttonForward->show();//显示正转按钮
// ui->buttonReverse->show();//显示反转按钮
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_WORK_AREA)//设置可工作区域
{
ui->frameWorkArea->show();
ui->buttonX1->setText("X +");
ui->buttonX2->setText("X -");
ui->buttonY1->setText("Y +");
ui->buttonY2->setText("Y -");
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else if(sel == BTN_KNIFE_PRESSURE)//刀压设置
{
ui->frameKnifePressure->show();
ui->buttonUp->hide();
ui->buttonDn->hide();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonOk->move(m_btnCancelPoint);
refreshMcPara();
}
else if(sel == BTN_FAN_AREA)//风机区域
{
ui->frameFanArea->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonOk->move(m_btnCancelPoint);
refreshWkPara();
}
else if(sel == BTN_SPD_SELECT)//平板切割速度选择
{
ui->frameSpdSelect->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonOk->move(m_btnCancelPoint);
//发送下位机
ParaStruct mcPara = g_pMachine->getMcPara();
//写数据
ui->buttonKn2_MaxSpd->setText(tr("Kn2Max:")+QString::number(mcPara.buf[171]));//刀2最大
ui->buttonKn2_MinSpd->setText(tr("Kn2Min:")+QString::number(mcPara.buf[170]));//刀2最小
ui->buttonKn2_AccSpd->setText(tr("Kn2Acc:")+QString::number(mcPara.buf[172]));//刀2加速
if(!g_pSettings->ifKeyExists("FlatPanelSpd/Model")){
g_pSettings->writeOneToIniFile("FlatPanelSpd/Model",QVariant(1));
for(int i = 1; i<6; i++){
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn1Min",QVariant(10));
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn1Max",QVariant(600));
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn1Acc",QVariant(500));
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn2Min",QVariant(10));
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn2Max",QVariant(600));
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn2Acc",QVariant(500));
}
}
int model = g_pSettings->readFromIniFile("FlatPanelSpd/Model").toInt();
// 根据名称查找指针id
QRadioButton *searchedButton = this->findChild<QRadioButton *>("radioButtonSpd_" + QString::number(model));
searchedButton->click();
}
else if(sel == BTN_FORCE)//铣切机--刀压
{
ui->frame_Force->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
ui->pushButton_collect->setText(tr("Collect"));//刀压采集
ui->pushButton_collect_bit->setText(tr("Positioning"));//去采集位
ui->pushButton_test->setText(tr("Testing"));//刀压测试
ui->pushButton_Blade->setText("4");
ui->pushButton_Blade->setStyleSheet(knifeStyle4());
refreshMcPara();
}
else if(sel == BTN_FILETRANSFER)//铣切机--文件传输
{
ui->frame_FileTransfer->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
ui->button_USB->setText(tr("USB"));
ui->button_Local->setText(tr("Local"));
}
else if(sel == BTN_WORKHEADSET)//工作机头设置
{
g_pMachine->getParasFromMachine();//读取参数
delay(100);
int readValue = g_pMachine->getMcPara().buf[PARA_HEADSET];
unsigned int data1 = 0, data2 = 0, data = 0;
//int readValue = /* 你的读数,假设 ≥ 0 */;
data1 |= (1U << 0); // data == 1
data2 |= (1U << 1);
data |= 0b11; // 二进制写法更直观
if (static_cast<unsigned int>(readValue) == data1) //机头1
{
ui->check_WorkHead_1->setChecked(true);
ui->check_WorkHead_2->setChecked(false);
}
else if (static_cast<unsigned int>(readValue) == data2) //机头2
{
ui->check_WorkHead_1->setChecked(false);
ui->check_WorkHead_2->setChecked(true);
}
else if (static_cast<unsigned int>(readValue) == data) //机头12
{
ui->check_WorkHead_1->setChecked(true);
ui->check_WorkHead_2->setChecked(true);
}
ui->frameWorkHeadSet->show();
ui->frameTwo->show();
ui->buttonOk->show();
ui->buttonCancel->show();
ui->buttonOk->move(m_btnOkPoint);
ui->buttonCancel->move(m_btnCancelPoint);
}
else
{
return;
}
}
//初始化窗体控件,包括位置、尺寸、样式
void PromptDialog::initControl()
{
//根据不同分辨率设置控件的位置和尺寸
initResolution();
initControlStyle();//初始化窗体控件样式
}
//初始化窗体控件为任意分辨率
void PromptDialog::initResolution()
{
int frameLeft = 259;
int frameTop = 156;
int frameWight = 513;
int frameHeight = 291;
int titleHeight = 50;
double factoryX = getFactoryX();
double factoryY = getFactoryY();
//上状态栏
this->resize(GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
this->move((GLB_SCR_WIGHT*factoryX-this->width())/2+g_mainWidgetPos.x(),(GLB_SCR_HEIGHT*factoryY-this->height())/2+g_mainWidgetPos.y());
ui->frameBack->setGeometry(0*factoryX,0*factoryY,GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
ui->labelTitle->setGeometry((frameLeft+GLB_EDGE_WIGHT)*factoryX,(frameTop+(titleHeight-GLB_TEXT_HEIGHT)/2)*factoryY,(frameWight-GLB_TAB_WIGHT*2)*factoryX,(GLB_TEXT_HEIGHT+4)*factoryY);
ui->labelContent->setGeometry((frameLeft+GLB_TAB_WIGHT)*factoryX ,(frameTop+GLB_EDGE_HEIGHT)*factoryY,
(frameWight-GLB_TAB_WIGHT*2)*factoryX,(frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT*2)*factoryY);//(46,40,340,285)
ui->labelContentInfo->setGeometry((frameLeft+GLB_TAB_WIGHT)*factoryX ,(frameTop+GLB_EDGE_HEIGHT)*factoryY,
(frameWight-GLB_TAB_WIGHT*2)*factoryX,(frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT*2)*factoryY);//(46,40,350,285)
ui->labeBreakHead->setGeometry(40*factoryX,40*factoryY,380*factoryX,285*factoryY);
ui->labelContentWarrant->setGeometry(302*factoryX,193*factoryY,300*factoryX,225*factoryY);
ui->frameProcess->setGeometry(145*factoryX,150*factoryY,800*factoryX,280*factoryY);//(20,70,480,130)
ui->labelContentProcess->setGeometry(150*factoryX,80*factoryY,398*factoryX,40*factoryY);//(10,10,398,40)
ui->progressBar->setGeometry(150*factoryX,120*factoryY,446*factoryX,26*factoryY);//进度条(10,50,446,26)
ui->frameTwo->setGeometry(frameLeft*factoryX,
(frameTop+frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT)*factoryY,
frameWight*factoryX,
(GLB_LBUT_HEIGHT+GLB_EDGE_HEIGHT)*factoryY);
ui->buttonForward->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*3)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonReverse->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*2)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonOk->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonCancel->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
m_btnOkPoint.setX((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX);//ok按钮位置(284)
m_btnOkPoint.setY(0*factoryY);
m_btnCancelPoint.setX((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX);//cancel按钮位置(390)
m_btnCancelPoint.setY(0*factoryY);
ui->frameProcessBtn->setGeometry(frameLeft*factoryX,
(frameTop+frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT)*factoryY,
frameWight*factoryX,
(GLB_LBUT_HEIGHT+GLB_EDGE_HEIGHT)*factoryY);
ui->buttonRestart->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonUpdataCancel->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->frameWarrantBtn->setGeometry(frameLeft*factoryX,
(frameTop+frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT)*factoryY,
frameWight*factoryX,
(GLB_LBUT_HEIGHT+GLB_EDGE_HEIGHT)*factoryY);
ui->buttonWarrant->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonWarrantCancel->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->frameSpdSelect->setGeometry((frameLeft+25)*factoryX,(frameTop+58)*factoryY,455*factoryX,161*factoryY);
// ui->buttonKn1_AccSpd->setSizePolicy();
QString strSpd = tr("Spd");
ui->radioButtonSpd_1->setText(strSpd + "1");//速度1
ui->radioButtonSpd_2->setText(strSpd + "2");//速度2
ui->radioButtonSpd_3->setText(strSpd + "3");//速度3
ui->radioButtonSpd_4->setText(strSpd + "4");//速度4
ui->radioButtonSpd_5->setText(strSpd + "5");//速度5
connect(ui->radioButtonSpd_1,SIGNAL(clicked(bool)),this,SLOT(slot_SpdSelect_clicked()));
connect(ui->radioButtonSpd_2,SIGNAL(clicked(bool)),this,SLOT(slot_SpdSelect_clicked()));
connect(ui->radioButtonSpd_3,SIGNAL(clicked(bool)),this,SLOT(slot_SpdSelect_clicked()));
connect(ui->radioButtonSpd_4,SIGNAL(clicked(bool)),this,SLOT(slot_SpdSelect_clicked()));
connect(ui->radioButtonSpd_5,SIGNAL(clicked(bool)),this,SLOT(slot_SpdSelect_clicked()));
connect(ui->buttonKn1_MaxSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
connect(ui->buttonKn1_MinSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
connect(ui->buttonKn1_AccSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
connect(ui->buttonKn2_MaxSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
connect(ui->buttonKn2_MinSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
connect(ui->buttonKn2_AccSpd,SIGNAL(clicked(bool)),this,SLOT(slot_buttonSpdParaModify_clicked()));
ui->frameWorkArea->setGeometry((frameLeft+25)*factoryX,(frameTop+58)*factoryY,455*factoryX,161*factoryY);
ui->buttonX1->setGeometry(170*factoryX,60*factoryY,70*factoryX,38*factoryY);
ui->buttonX2->setGeometry(10*factoryX,60*factoryY,70*factoryX,38*factoryY);
ui->buttonY1->setGeometry(90*factoryX,10*factoryY,70*factoryX,38*factoryY);//y+
ui->buttonY2->setGeometry(90*factoryX,120*factoryY,70*factoryX,38*factoryY);
ui->frameKnifePressure->setGeometry((frameLeft+25)*factoryX,(frameTop+58)*factoryY,455*factoryX,161*factoryY);
int btny = 70;
int btnwidth = 80;
int btnheight = 38;
ui->label_LKPara->setGeometry(10*factoryX,20*factoryY,200*factoryX,btnheight*factoryY);
ui->buttonLKParaModify->setGeometry(10*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->buttonLKTest->setGeometry(110*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->label_RKPara->setGeometry(260*factoryX,20*factoryY,200*factoryX,btnheight*factoryY);
ui->buttonRKParaModify->setGeometry(260*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->buttonRKTest->setGeometry(360*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->buttonUp->setGeometry(260*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->buttonDn->setGeometry(360*factoryX,btny*factoryY,btnwidth*factoryX,btnheight*factoryY);
ui->buttonLKParaModify->setText("U1" + tr("Modify"));//U1修改
ui->buttonLKTest->setText("U1" + tr("Test"));//U1测试
ui->buttonRKParaModify->setText("U2" + tr("Modify"));//U2修改
ui->buttonRKTest->setText("U2" + tr("Test"));//U2测试
ui->buttonLKParaModify->setStyleSheet(textButtonStyle());
ui->buttonLKTest->setStyleSheet(textButtonStyle());
ui->buttonRKParaModify->setStyleSheet(textButtonStyle());
ui->buttonRKTest->setStyleSheet(textButtonStyle());
ui->buttonUp->setStyleSheet(textButtonStyle());
ui->buttonUp->setText(tr("Up"));//上升
ui->buttonDn->setStyleSheet(textButtonStyle());
ui->buttonDn->setText(tr("Down"));//下降
ui->label_LKPara->setText("U1:");//U1:
ui->label_RKPara->setText("U2:");//U2:
QFont size = fontSize_L();
QString pSize = QString::number(size.pointSize() + 5);
QString style = "QLabel{border-radius:" + borderRadius() + "px;font-size:"+ pSize +"px;font-family:"+ "Microsoft YaHei"+";}";
ui->label_LKPara->setStyleSheet(style);
ui->label_RKPara->setStyleSheet(style);
ui->frameFanArea->setGeometry((frameLeft+25)*factoryX,(frameTop+58)*factoryY,455*factoryX,161*factoryY);
if(g_emMacType == MACHINE_CUTTINGWALK){
ui->buttonFanOpen5->setGeometry(70*factoryX,25*factoryY,150*factoryX,80*factoryY);
ui->buttonFanClose5->setGeometry(250*factoryX,25*factoryY,150*factoryX,80*factoryY);
ui->buttonFanSet4->setVisible(false);
ui->buttonFanSet2->setVisible(false);
ui->buttonFanSet3->setVisible(false);
ui->buttonFanSet1->setVisible(false);
ui->buttonFanSet5->setVisible(false);
}else{
ui->buttonFanOpen5->setGeometry(270*factoryX,25*factoryY,80*factoryX,38*factoryY);
ui->buttonFanClose5->setGeometry(370*factoryX,25*factoryY,80*factoryX,38*factoryY);
int gapx = 80;
int y = 25;
int x = 60;
ui->buttonFanSet4->setGeometry((x)*factoryX,y*factoryY,70*factoryX,38*factoryY);
ui->buttonFanSet2->setGeometry((x+=gapx)*factoryX,y*factoryY,70*factoryX,38*factoryY);
y+=45;
x = 60;
ui->buttonFanSet3->setGeometry(x*factoryX,y*factoryY,70*factoryX,38*factoryY);
ui->buttonFanSet1->setGeometry((x+=gapx)*factoryX,y*factoryY,70*factoryX,38*factoryY);
ui->buttonFanSet5->setGeometry((270)*factoryX,y*factoryY,80*factoryX,38*factoryY);
}
connect(ui->buttonFanOpen5,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanClose5,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanSet1,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanSet2,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanSet3,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanSet4,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
connect(ui->buttonFanSet5,SIGNAL(clicked(bool)),this,SLOT(slot_FanArea_clicked()));
ui->buttonFanOpen5->setText(tr("Ctrl Open"));//控制开启
ui->buttonFanClose5->setText(tr("Ctrl Close"));//控制关闭
ui->buttonFanClose5->setStyleSheet(textButtonStyle());
ui->buttonFanOpen5->setStyleSheet(textButtonStyle());
//主轴角度旋转
ui->frameSpindleRotate->setGeometry(180*factoryX,178*factoryY,440*factoryX,161*factoryY);
ui->labelSpindleAngle->setGeometry(150*factoryX,112*factoryY,120*factoryX,40*factoryY);
ui->buttonSpindleAngleValue->setGeometry(275*factoryX,110*factoryY,78*factoryX,40*factoryY);
ui->labelSpindleAngleUnit->setGeometry(364*factoryX,112*factoryY,91*factoryX,40*factoryY);
//界面解密
ui->frameHMIDecrypt->setGeometry(40*factoryX,78*factoryY,440*factoryX,161*factoryY);
ui->labelNetworkCardID->setGeometry(10*factoryX,12*factoryY,110*factoryX,40*factoryY);
ui->labelNetworkCardIDValue->setGeometry(130*factoryX,12*factoryY,200*factoryX,40*factoryY);
ui->labelHMIPassword->setGeometry(10*factoryX,52*factoryY,110*factoryX,40*factoryY);
ui->buttonHMIPassword->setGeometry(130*factoryX,50*factoryY,200*factoryX,40*factoryY);
ui->labelDecryptInfo->setGeometry(10*factoryX,92*factoryY,110*factoryX,40*factoryY);
ui->labelDecryptInfoValue->setGeometry(130*factoryX,92*factoryY,200*factoryX,40*factoryY);
//修改一级密码
ui->frameChangePassword->setGeometry(0*factoryX,78*factoryY,440*factoryX,161*factoryY);
ui->labelNewPassword->setGeometry(0*factoryX,0*factoryY,140*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonNewPassword->setGeometry(180*factoryX,0*factoryY,200*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->labelConfirmPassword->setGeometry(0*factoryX,52*factoryY,140*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonConfirmPassword->setGeometry(180*factoryX,52*factoryY,200*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->frameThree->setGeometry(frameLeft*factoryX,
(frameTop+frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT)*factoryY,
frameWight*factoryX,
(GLB_LBUT_HEIGHT+GLB_EDGE_HEIGHT)*factoryY);
ui->buttonRename->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*2)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonReplace->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonSkip->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonOverWrite->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*2)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonSaveAs->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonClose->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->frameDetecBtn->setGeometry(frameLeft*factoryX,
(frameTop+frameHeight-GLB_LBUT_HEIGHT-GLB_EDGE_HEIGHT)*factoryY,
frameWight*factoryX,
(GLB_LBUT_HEIGHT+GLB_EDGE_HEIGHT)*factoryY);
ui->buttonDetectBegin->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*2)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonDetectEnd->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT-(GLB_BAS_WIGHT+GLB_LBUT_WIGHT)*1)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->buttonDetectClose->setGeometry((frameWight-GLB_EDGE_WIGHT-GLB_LBUT_WIGHT)*factoryX,
0*factoryY,
GLB_LBUT_WIGHT*factoryX,
GLB_LBUT_HEIGHT*factoryY);
ui->frame_Force->setGeometry(256*factoryX,188*factoryY,512*factoryX,200*factoryY);
ui->pushButton_collect->setGeometry(104*factoryX,24*factoryY,98*factoryX,48*factoryY);
ui->pushButton_collect_bit->setGeometry(20*factoryX,24*factoryY,70*factoryX,48*factoryY);
ui->pushButton_test->setGeometry(310*factoryX,24*factoryY,98*factoryX,48*factoryY);
ui->pushButton_Pre->setGeometry(52*factoryX,100*factoryY,48*factoryX,64*factoryY);
ui->pushButton_Next->setGeometry(206*factoryX,100*factoryY,48*factoryX,64*factoryY);
ui->pushButton_Blade->setGeometry(104*factoryX,100*factoryY,98*factoryX,64*factoryY);
ui->pushButton_BValue->setGeometry(310*factoryX,100*factoryY,98*factoryX,64*factoryY);
ui->frame_KnifeAndPenSd->setGeometry(256*factoryX,188*factoryY,512*factoryX,200*factoryY);
ui->label_SpdPen->setGeometry(20*factoryX,10*factoryY,482*factoryX,30*factoryY);
ui->label_SpdKnife->setGeometry(20*factoryX,110*factoryY,482*factoryX,30*factoryY);
ui->frame_Pen->setGeometry(0*factoryX,0*factoryY,512*factoryX,100*factoryY);
ui->frame_Knife->setGeometry(0*factoryX,100*factoryY,512*factoryX,100*factoryY);
ui->radioButton_KMax->setGeometry(80*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->radioButton_KMid->setGeometry(230*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->radioButton_KMin->setGeometry(380*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->radioButton_PMax->setGeometry(80*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->radioButton_PMid->setGeometry(230*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->radioButton_PMin->setGeometry(380*factoryX,50*factoryY,80*factoryX,40*factoryY);
ui->frame_FileTransfer->setGeometry(256*factoryX,188*factoryY,512*factoryX,200*factoryY);
ui->button_USB->setGeometry(100*factoryX,64*factoryY,106*factoryX,68*factoryY);
ui->button_Local->setGeometry(306*factoryX,64*factoryY,106*factoryX,68*factoryY);
ui->frameWorkHeadSet->setGeometry(216*factoryX,158*factoryY,512*factoryX,200*factoryY);
ui->check_WorkHead_1->setGeometry(100*factoryX,64*factoryY,106*factoryX,68*factoryY);
ui->check_WorkHead_2->setGeometry(286*factoryX,64*factoryY,106*factoryX,68*factoryY);
}
//初始化窗体控件样式
void PromptDialog::initControlStyle()
{
SetStyle setControlStyle;
setControlStyle.setUiName(this->objectName());
//设置控件图标
//背景图
this->setStyleSheet(titleTextColour());
ui->frameBack->setStyleSheet(setControlStyle.getStyleSheet(this->objectName()));
if(g_emTheme == theme2)
{
ui->labelTitle->setStyleSheet(titleTextColour2());
}else
{
ui->labelTitle->setStyleSheet(transparentStyle());
}
ui->labelTitle->setFont(fontSize_L());
ui->labelTitle->setAlignment(Qt::AlignLeft);
ui->labelTitle->setAlignment(Qt::AlignVCenter);
ui->frameProcess->setStyleSheet(transparentStyle());
ui->progressBar->setFont(fontSize_M());
ui->labelContent->setStyleSheet(warnTextColour());
ui->labelContent->setFont(fontSize_L());
ui->labelContent->setAlignment(Qt::AlignLeft);
ui->labelContent->setAlignment(Qt::AlignVCenter);
ui->labeBreakHead->setStyleSheet(warnTextColour()); // 断线机头 红色 字体加大 -rq
ui->labeBreakHead->setFont(fontSize_L());
ui->labeBreakHead->setAlignment(Qt::AlignLeft);
ui->labeBreakHead->setAlignment(Qt::AlignVCenter);
ui->labelContentInfo->setStyleSheet(warnTextColour());
ui->labelContentInfo->setFont(fontSize_M());
ui->labelContentInfo->setAlignment(Qt::AlignLeft);
ui->labelContentInfo->setAlignment(Qt::AlignVCenter);
ui->labelContentProcess->setStyleSheet(numButtonStyle());
ui->labelContentProcess->setFont(fontSize_M());
ui->labelContentProcess->setAlignment(Qt::AlignLeft);
ui->labelContentProcess->setAlignment(Qt::AlignVCenter);
ui->labelContentWarrant->setStyleSheet(warnTextColour());
ui->labelContentWarrant->setFont(fontSize_M());
ui->labelContentWarrant->setAlignment(Qt::AlignLeft);
ui->labelContentWarrant->setAlignment(Qt::AlignVCenter);
ui->frameTwo->setStyleSheet(transparentStyle());
ui->buttonOk->setStyleSheet(confirmIconStyle());
ui->buttonCancel->setStyleSheet(confirmIconStyle());
if(g_emTheme == theme2)
{
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk_1"));
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel_1"));
}else
{
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk"));
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel"));
}
ui->buttonOverWrite->setStyleSheet(confirmIconStyle());
ui->buttonSaveAs->setStyleSheet(confirmIconStyle());
ui->buttonClose->setStyleSheet(confirmIconStyle());
ui->buttonOverWrite->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk"));
ui->buttonSaveAs->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonSaveAs->objectName()));
ui->buttonClose->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel"));
ui->buttonForward->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonForward->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonForward->objectName()));
ui->buttonReverse->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonReverse->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonReverse->objectName()));
ui->frameThree->setStyleSheet(transparentStyle());
ui->buttonRename->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonReplace->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonSkip->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonRename->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRename->objectName()));
ui->buttonReplace->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonReplace->objectName()));
ui->buttonSkip->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonSkip->objectName()));
ui->frameDetecBtn->setStyleSheet(transparentStyle());
ui->buttonDetectBegin->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectBegin->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectBegin->objectName()));
ui->buttonDetectEnd->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectEnd->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectEnd->objectName()));
ui->buttonDetectClose->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonDetectClose->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
ui->frameProcessBtn->setStyleSheet(transparentStyle());
ui->buttonRestart->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonRestart->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRestart->objectName()));
ui->buttonUpdataCancel->setBottomImage(setControlStyle.getSharedBottomStyleSheet("frameBtn"));
ui->buttonUpdataCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"));
//设置可工作区域
ui->frameWorkArea->setStyleSheet(transparentStyle());
ui->buttonX1->setFont(fontSize_M());
ui->buttonX2->setFont(fontSize_M());
ui->buttonY1->setFont(fontSize_M());
ui->buttonY2->setFont(fontSize_M());
ui->frameKnifePressure->setStyleSheet(transparentStyle());
ui->frameFanArea->setStyleSheet(transparentStyle());
ui->frameSpdSelect->setStyleSheet(transparentStyle());
ui->buttonKn1_MaxSpd->setStyleSheet(flippingStyle());
ui->buttonKn1_MinSpd->setStyleSheet(flippingStyle());
ui->buttonKn1_AccSpd->setStyleSheet(flippingStyle());
ui->buttonKn2_MaxSpd->setStyleSheet(flippingStyle());
ui->buttonKn2_MinSpd->setStyleSheet(flippingStyle());
ui->buttonKn2_AccSpd->setStyleSheet(flippingStyle());
//主轴角度旋转
ui->frameSpindleRotate->setStyleSheet(transparentStyle());
ui->labelSpindleAngle->setStyleSheet(titleTextColour());
ui->labelSpindleAngle->setFont(fontSize_M());
ui->labelSpindleAngleUnit->setStyleSheet(titleTextColour());
ui->labelSpindleAngleUnit->setFont(fontSize_M());
ui->buttonSpindleAngleValue->setFont(fontSize_M());
//界面解密
ui->frameHMIDecrypt->setStyleSheet(transparentStyle());
ui->labelNetworkCardID->setStyleSheet(titleTextColour());
ui->labelNetworkCardID->setFont(fontSize_M());
ui->labelNetworkCardIDValue->setStyleSheet(titleTextColour());
ui->labelNetworkCardIDValue->setFont(fontSize_M());
ui->labelHMIPassword->setStyleSheet(titleTextColour());
ui->labelHMIPassword->setFont(fontSize_M());
ui->buttonHMIPassword->setFont(fontSize_M());
ui->labelDecryptInfo->setStyleSheet(titleTextColour());
ui->labelDecryptInfo->setFont(fontSize_M());
ui->labelDecryptInfoValue->setStyleSheet(titleTextColour());
ui->labelDecryptInfoValue->setFont(fontSize_M());
//修改一级密码
ui->frameChangePassword->setStyleSheet(transparentStyle());
ui->labelNewPassword->setStyleSheet(titleTextColour());
ui->labelNewPassword->setFont(fontSize_M());
ui->labelConfirmPassword->setStyleSheet(titleTextColour());
ui->labelConfirmPassword->setFont(fontSize_M());
ui->buttonNewPassword->setFont(fontSize_M());
ui->buttonConfirmPassword->setFont(fontSize_M());
ui->frameWarrantBtn->setStyleSheet(transparentStyle());
ui->buttonWarrant->setStyleSheet(confirmIconStyle());
ui->buttonWarrantCancel->setStyleSheet(confirmIconStyle());
ui->buttonWarrant->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk_1"));
ui->buttonWarrantCancel->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel_1"));
//铣切机--刀压设置
ui->frame_Force->setStyleSheet(transparentStyle());
ui->pushButton_collect->setFont(fontSize_M());
ui->pushButton_collect_bit->setFont(fontSize_M());
ui->pushButton_test->setFont(fontSize_M());
ui->pushButton_collect->setStyleSheet(confirmIconStyle());
ui->pushButton_collect_bit->setStyleSheet(confirmIconStyle());
ui->pushButton_test->setStyleSheet(confirmIconStyle());
ui->pushButton_Blade->setFont(fontSize_L());
ui->pushButton_BValue->setFont(fontSize_L());
ui->pushButton_Blade->setStyleSheet(knifeStyle4());
ui->pushButton_BValue->setStyleSheet(confirmIconStyle());
ui->pushButton_Pre->setText("");
ui->pushButton_Next->setText("");
ui->pushButton_Pre->setRevDirectionButtonStyle();
ui->pushButton_Next->setRevDirectionButtonStyle();
ui->pushButton_Pre->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->pushButton_Pre->objectName()));
ui->pushButton_Next->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->pushButton_Next->objectName()));
//文件传输方式选择
ui->frame_FileTransfer->setStyleSheet(transparentStyle());
ui->button_Local->setStyleSheet(confirmIconStyle());
ui->button_USB->setStyleSheet(confirmIconStyle());
ui->button_Local->setFont(fontSize_M());
ui->button_USB->setFont(fontSize_M());
// QPixmap p(32, 32)
ui->frameWorkHeadSet->setStyleSheet(transparentStyle());
ui->check_WorkHead_1->setFont(fontSize_M());
ui->check_WorkHead_1->setStyleSheet(R"(
QCheckBox::indicator {
background-color: white; /* 白色背景 */
width: 25px; /* 原默认约16px按需调整如24/32px */
height: 25px;
margin-right: 0px; /* 可选:调整勾选框与文本的间距(适配原生布局) */
}
QCheckBox::indicator:checked {
image: url(:/images/MainWidget/checked.png); /* 替换为你的√图片路径 */
width: 25px; /* 图片宽度(与原生复选框尺寸匹配更佳) */
height: 25px; /* 图片高度 */
border: none; /* 去掉可能的额外边框,避免与原生样式冲突 */
}
)");
ui->check_WorkHead_2->setStyleSheet(R"(
QCheckBox::indicator {
background-color: white; /* 白色背景 */
width: 25px; /* 原默认约16px按需调整如24/32px */
height: 25px;
margin-right: 0px; /* 可选:调整勾选框与文本的间距(适配原生布局) */
}
QCheckBox::indicator:checked {
image: url(:/images/MainWidget/checked.png); /* 替换为你的√图片路径 */
width: 25px; /* 图片宽度(与原生复选框尺寸匹配更佳) */
height: 25px; /* 图片高度 */
border: none; /* 去掉可能的额外边框,避免与原生样式冲突 */
}
)");
ui->check_WorkHead_2->setFont(fontSize_M());
}
///
/// \brief 刷新显示
///
void PromptDialog::refreshMcPara()
{
ParaStruct mcPara = g_pMachine->getMcPara();
//刀压测试
int LkHeight = 0;
int RkHeight = 0;
double Lkdouble = 0;
double Rkdouble = 0;
// 刀座1安装刀类型选择 0,无 1,圆刀 2,震刀 3,铣刀 4,偏心刀1 5,偏心刀2 6,画笔 7,尖刀 8,钻孔 9,压轮
if (mcPara.buf[10] == 1)
{//1,圆刀
LkHeight = mcPara.buf[87];
}
else if (mcPara.buf[10] == 2)
{//2,震刀
LkHeight = mcPara.buf[90];
}
else if (mcPara.buf[10] == 3)
{//3,铣刀
LkHeight = mcPara.buf[93];
}
else if (mcPara.buf[10] == 4)
{//4,偏心刀1
LkHeight = mcPara.buf[96];
}
else if (mcPara.buf[10] == 5)
{//5,偏心刀2
LkHeight = mcPara.buf[98];
}
else if (mcPara.buf[10] == 7)
{//7,尖刀
LkHeight = mcPara.buf[105];
}
else if (mcPara.buf[10] == 8)
{//8,钻孔
LkHeight = mcPara.buf[103];
}
else if (mcPara.buf[10] == 9)
{//9,压轮
LkHeight = mcPara.buf[100];
}
else
{//
LkHeight = 0;
}
// 刀座2安装刀类型选择 0,无 1,圆刀 2,震刀 3,铣刀 4,偏心刀1 5,偏心刀2 6,画笔 7,尖刀 8,钻孔 9,压轮
if (mcPara.buf[11] == 1)
{//1,圆刀
RkHeight = mcPara.buf[87];
}
else if (mcPara.buf[11] == 2)
{//2,震刀
RkHeight = mcPara.buf[90];
}
else if (mcPara.buf[11] == 3)
{//3,铣刀
RkHeight = mcPara.buf[93];
}
else if (mcPara.buf[11] == 4)
{//4,偏心刀1
RkHeight = mcPara.buf[96];
}
else if (mcPara.buf[11] == 5)
{//5,偏心刀2
RkHeight = mcPara.buf[98];
}
else if (mcPara.buf[11] == 7)
{//7,尖刀
RkHeight = mcPara.buf[105];
}
else if (mcPara.buf[11] == 8)
{//8,钻孔
RkHeight = mcPara.buf[103];
}
else if (mcPara.buf[11] == 9)
{//9,压轮
RkHeight = mcPara.buf[100];
}
else
{//
RkHeight = 0;
}
Lkdouble = LkHeight;
Rkdouble = RkHeight;
ui->label_LKPara->setText(("U1:") + QString::number(Lkdouble/100,'f',2));//U1:
ui->label_RKPara->setText(("U2:") + QString::number(Rkdouble/100,'f',2));//U2:
}
using namespace std;
void PromptDialog::refreshWkPara()
{
ParaStruct wkPara = g_pMachine->getWkPara();
//单独吸附区域
bitset<32> intbit(wkPara.buf[83]);
btnDisplay(ui->buttonFanSet1,intbit.test(0),"1");
btnDisplay(ui->buttonFanSet2,intbit.test(1),"2");
btnDisplay(ui->buttonFanSet3,intbit.test(2),"3");
btnDisplay(ui->buttonFanSet4,intbit.test(3),"4");
//手动自动
bitset<32> intbit2(wkPara.buf[102]);
if(intbit2.test(0))
ui->buttonFanSet5->setText(tr("Auto"));//自动
else
ui->buttonFanSet5->setText(tr("Manual"));//手动
}
void PromptDialog::btnDisplay(MyButton *btn, bool isTrue,QString str)
{
if(isTrue)
{
btn->setText(str + tr("Opened"));//已开启
btn->setStyleSheet(flippingStyle());
}
else
{
btn->setText(str + tr("Closed"));//已关闭
btn->setStyleSheet(confirmIconStyle());
}
}
//设置标题
void PromptDialog::setTitleStr(QString str)
{
ui->labelTitle->setText(str);
}
//设置断线机头字体颜色
void PromptDialog::setStrColor(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labeBreakHead->setText(str);
ui->labeBreakHead->show();
}
//设置显示内容
void PromptDialog::setContentStr(QString str)
{
ui->frameProcess->hide();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContent->setText(str);
ui->labelContent->show();
}
void PromptDialog::setContentProcessStr(QString str)
{
ui->frameProcess->show();
ui->labelContentInfo->setText("");
ui->labelContentInfo->hide();
ui->labeBreakHead->setText("");//断线机头显示
ui->labeBreakHead->hide();
ui->labelContent->setText("");
ui->labelContent->hide();
ui->labelContentWarrant->setText("");
ui->labelContentWarrant->hide();
ui->labelContentProcess->show();
ui->labelContentProcess->setText(str);
}
void PromptDialog::setContentInfoShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentWarrant->hide();
ui->labelContentInfo->show();
ui->labelContentInfo->raise();
}
void PromptDialog::setContentWarrantShow()
{
ui->labelContent->hide();
ui->labeBreakHead->hide();
ui->frameProcess->hide();
ui->labelContentInfo->hide();
ui->labelContentWarrant->show();
}
void PromptDialog::setContentHMIDecryptShow(QString id)
{
//将id中的冒号去掉
QStringList strlist = id.split(":", QString::SkipEmptyParts);
QString nId;
nId.clear();
for(int i = 0; i < strlist.size(); i++)
{
nId += strlist[i];
}
ui->labelNetworkCardIDValue->setText(nId);
ui->buttonHMIPassword->setText("");
QDir apppath(qApp->applicationDirPath());
QString HMIDecryptConfigfile;
HMIDecryptConfigfile = apppath.path() + apppath.separator() + "HMIDecryptConfig.ini";
QSettings iniSetting(HMIDecryptConfigfile, QSettings::IniFormat);
int decryptFlag = iniSetting.value("HMIDecrypt/ifdecrypt").toInt();
QFile iniFile(HMIDecryptConfigfile);
if(decryptFlag != 0 || !iniFile.exists())//等于1或者配置文件不存在
{
ui->labelDecryptInfoValue->setText("HMI decrypted");//界面已解密
}
else
{
ui->labelDecryptInfoValue->setText("HMI unresolved");//界面未解密
}
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setContentChangePasswordShow()//修改一级用户密码内容显示
{
ui->buttonNewPassword->setText("");
ui->buttonConfirmPassword->setText("");
ui->buttonOk->setEnabled(false);
}
void PromptDialog::setValue(int progress)
{
ui->progressBar->setValue(progress);
}
void PromptDialog::setButtonUCancelStr(QString str)
{
ui->buttonUpdataCancel->setText(str);
}
void PromptDialog::setRange(int minimum, int maximum)
{
ui->progressBar->setRange(minimum,maximum);
}
QString PromptDialog::getNetworkCardID()
{
return ui->labelNetworkCardIDValue->text();
}
QString PromptDialog::getInputPassword()
{
return ui->buttonHMIPassword->text();
}
void PromptDialog::slotMCInfoChange()
{
QString strInfo;
MCInfo info;//机器信息
char softwareVerStr[48+1];//软件版本
char mBoardVerStr[16+1];//主板n1板卡版本
char exBoardVerStr[16+1];//主板n1-1板卡版本
char buildInfoStr[32+1];//编译日期信息
info = g_pMachine->getMcInfo();
memcpy(softwareVerStr, info.softwareVerStr, 48);
memcpy(mBoardVerStr, info.mBoardVerStr, 16);
memcpy(exBoardVerStr, info.exBoardVerStr, 16);
memcpy(buildInfoStr, info.buildInfoStr, 32);
softwareVerStr[48] = 0;
mBoardVerStr[16]= 0;
exBoardVerStr[16]= 0;
buildInfoStr[32]=0;
QString strBoardVer;
strBoardVer.sprintf("%s", softwareVerStr);
QString strMBoardVer;
strMBoardVer.sprintf("%s", mBoardVerStr);
QString strExBoardVer;
strExBoardVer.sprintf("%s", exBoardVerStr);
QString strBuildInfo;
strBuildInfo.sprintf("%s", buildInfoStr);
strInfo += tr("Board:") + " " + strBoardVer + "\n"+
strBuildInfo+ "\n" +
strMBoardVer + "\n" +
strExBoardVer + "\n" ;
QString verInfo = "\n" + strInfo;
ui->labelContentInfo->setText(verInfo);
//连接多块主板也是从g_pMachine[0](第一块)获取软件授权信息
MCStatus mcStatus;
mcStatus = g_pMachine->getMcStatus(); //读的一个主板的可工作时间计数器(分钟)
MCInfo infoID;//机器信息
infoID = g_pMachine->getMcInfo();
QString IDStr(infoID.boardId);
if(IDStr.indexOf(":") != -1)
{
QStringList list = IDStr.split(":");
IDStr = list.at(1);
}
QString passwordStr(infoID.installment);
if(passwordStr.indexOf(":") != -1)
{
QStringList list = passwordStr.split(":");
passwordStr = list.at(1);
}
int time = mcStatus.workableTimer;//只在上电的时候读取
QString timeStr;
if( time > TIMELIMITMIN && time < TIMELIMITMAX)
{
timeStr = (tr("Unlimited time")); // 无时间限制
}
if(time <= 0)
{
timeStr = (tr("Time has run out")); // 时间已用完
}
if(time > 0 && time < TIMELIMITMIN)
{
QString strDay;
QString strHour;
QString strSec;
strDay = QString::number(time/(60 *24) , 10);
strHour = QString::number((time%(60 *24))/60 , 10) ;
strSec = QString::number(time%60 , 10);
timeStr = strDay + " " + tr("Day") + " " + strHour + " " + tr("Hour") + " " + strSec + " " + tr("Minutes") ; // 天 小时 分钟
}
QString strBoardInfo;
strBoardInfo = QString(tr("ID: %1\n")).arg(IDStr);
strBoardInfo += QString(tr("Password: %1\n")).arg(passwordStr);
strBoardInfo += QString(tr("Time: %1")).arg(timeStr);
ui->labelContentWarrant->setText(strBoardInfo);
}
void PromptDialog::on_buttonOk_clicked()
{
if(m_funType == BTN_SPINDLE_ROTATE)
{
emit siSpindleRotate(m_spindleAngle);
done(0);
}
else if(m_funType == BTN_ROTATE_ROTATE)
{
emit siRotateRotate(m_spindleAngle);
done(0);
}
else if(m_funType == BTN_AUTOMATIC_PULLMA)
{
emit siAutoPull(m_length);
done(0);
}
else if(m_funType == BTN_SPINDLE_GRANDE)
{
emit siSpindleTime(m_time,m_speed);
done(0);
}
else if(m_funType == BTN_SPD_SELECT)
{
done(0);
}
else if(m_funType == BTN_FORCE)
{
done(0);
}
if(m_funType == BTN_WORKHEADSET)
{
unsigned int data1 = 0, data2 = 0, data = 0;
//int readValue = /* 你的读数,假设 ≥ 0 */;
data1 |= (1U << 0); // data == 1
data2 |= (1U << 1);
data |= 0b11; // 二进制写法
if (ui->check_WorkHead_1->isChecked() && ui->check_WorkHead_2->isChecked()) //机头12
{
g_pMachine->setAMcPara(PARA_HEADSET + 1, data);
}
else if (ui->check_WorkHead_1->isChecked()) //机头1
{
g_pMachine->setAMcPara(PARA_HEADSET + 1, data1);
}
else if (ui->check_WorkHead_2->isChecked()) //机头2
{
g_pMachine->setAMcPara(PARA_HEADSET + 1, data2);
}
done(0);
}
else
{
done(1);
}
}
void PromptDialog::on_buttonCancel_clicked()
{
done(0);
}
void PromptDialog::on_buttonRename_clicked()
{
done(1);
}
void PromptDialog::on_buttonReplace_clicked()
{
done(2);
}
void PromptDialog::on_buttonSkip_clicked()
{
done(0);
}
//重启
void PromptDialog::on_buttonRestart_clicked()
{
#ifdef Q_OS_WIN
qApp->exit();
#endif
#ifdef Q_OS_LINUX
system("reboot");
#endif
}
//升级中断
void PromptDialog::on_buttonUpdataCancel_clicked()
{
emit(siUpdataCancel());
done(0);
}
void PromptDialog::on_buttonWarrant_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("Warrant"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
//连接多块主板也是从g_pMachine(第一块)获取软件授权信息,所以解锁也是通过第一块主板
g_pMachine->setMacKey(( unsigned char * ) textStr.toLatin1().data() ,textStr.toLatin1().size());
done(1);
}
}
void PromptDialog::on_buttonWarrantCancel_clicked()
{
done(0);
}
//开始检测
void PromptDialog::on_buttonDetectBegin_clicked()
{
if(m_funType == BTN_BOTTOM)//等于底线检测
{
return;
}
if(m_funType == BTN_FACE)//等于面线检测
{
return;
}
}
//停止检测
void PromptDialog::on_buttonDetectEnd_clicked()
{
if(g_pMachine!= NULL)
{
g_pMachine->exitDetectTest();
}
}
//关闭检测窗体
void PromptDialog::on_buttonDetectClose_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->exitDetectTest();
}
done(0);
}
//界面解密ID号输入按钮
void PromptDialog::on_buttonHMIPassword_clicked()
{
//输入框
WordsInputDialog wordInputDlg;
wordInputDlg.clean();
wordInputDlg.setTitleStr(tr("HMI decrypt"));
wordInputDlg.setOldWordsStr("");
if(wordInputDlg.exec() == 1)
{
QString textStr = wordInputDlg.getInputStr();
ui->buttonHMIPassword->setText(textStr);
if(textStr.length() > 0)
{
ui->buttonOk->setEnabled(true);
}
}
}
void PromptDialog::on_buttonSpindleAngleValue_clicked()
{
if(m_funType == BTN_AUTOMATIC_PULLMA)
{
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("autoPull"));//自动拉料
ndlg.setUnitStr(tr("mm"));
ndlg.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt(), 0, 36000, 0);
rslt = ndlg.exec();
if (rslt == 1)//输入弹窗点击了确认
{
s32 val = ndlg.getValue();
m_length = val;
float angle = m_length;
QString angleStr;
angleStr.sprintf("%.0f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
}
else if(m_funType == BTN_SPINDLE_GRANDE)
{
//时间
int rslt;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(tr("Research vehicle time"));//研车时间
ndlg.setUnitStr(tr("s"));
ndlg.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt(), 0, 36000, 0);
rslt = ndlg.exec();
if (rslt == 1)//输入弹窗点击了确认
{
s32 val = ndlg.getValue();
m_time = val;
float time = m_time;
QString timeStr;
timeStr.sprintf("%.0f",time);
ui->buttonSpindleAngleValue->setText(timeStr);
}
// //速度
// int rosh;
// NumerInputDialog ndsh(this);
// ndsh.setTitleStr(tr("Research vehicle speed"));//研车速度
// ndsh.setUnitStr(tr("s"));
// ndsh.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt(), 0, 36000, 0);
// rosh = ndsh.exec();
}
else
{
QTextCodec *cod = QTextCodec::codecForLocale();
int rslt;
NumerInputDialog ndlg(this);
if(m_funType == BTN_SPINDLE_ROTATE)
{
ndlg.setTitleStr(tr("Spindle angle rotation"));//主轴角度旋转
}
else if(m_funType == BTN_ROTATE_ROTATE)
{
ndlg.setTitleStr(tr("Rotation angle rotation"));//旋转角度旋转
}
else if(m_funType == BTN_SPINDLE_GRANDE)
{
}
else
{
ndlg.setTitleStr(tr("Spindle angle rotation"));//主轴角度旋转
}
ndlg.setUnitStr(cod->toUnicode("°"));
ndlg.setValueAndRange(ui->buttonSpindleAngleValue->text().toInt()*100, 0, 36000, 2);
rslt = ndlg.exec();
if (rslt == 1)//输入弹窗点击了确认
{
s32 val = ndlg.getValue();
m_spindleAngle = val;
float angle = m_spindleAngle*0.01;
QString angleStr;
angleStr.sprintf("%.2f",angle);
ui->buttonSpindleAngleValue->setText(angleStr);
}
}
}
//修改一级密码:新密码输入按钮
void PromptDialog::on_buttonNewPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("New Password input"));//设置新密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_newPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_newPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonNewPassword->setText(showStr);//新密码框里显示获取的密码
}
}
//修改一级密码:确认新密码输入按钮
void PromptDialog::on_buttonConfirmPassword_clicked()
{
//密码输入框
PassWordDialog passWordDlg;
passWordDlg.setTitleStr(tr("Confirm Password input"));//设置确认密码输入的标题
if(passWordDlg.exec() == 1)//确认
{
m_confirmPassword = passWordDlg.getInputStr();//获取输入框里的密码
QString showStr("");
for (int var = 0; var < m_confirmPassword.size(); var++)
{
showStr = showStr + "*";
}
ui->buttonConfirmPassword->setText(showStr);//确认密码框里显示获取的密码
if(m_confirmPassword.length() > 0 )
{
ui->buttonOk->setEnabled(true);
}
}
}
//主轴正转
void PromptDialog::on_buttonForward_pressed()
{
emit siSpindleAction(MT_MOVE_DIR_POSI);
}
//主轴正转停止
void PromptDialog::on_buttonForward_released()
{
emit siSpindleAction(MT_MOVE_DIR_STOP);
}
//主轴反转
void PromptDialog::on_buttonReverse_pressed()
{
emit siSpindleAction(MT_MOVE_DIR_NEGA);
}
//主轴反转停止
void PromptDialog::on_buttonReverse_released()
{
emit siSpindleAction(MT_MOVE_DIR_STOP);
}
void PromptDialog::on_buttonX1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_RIGHT, 2);//速度等级默认是2
}
}
void PromptDialog::on_buttonX1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_RIGHT, MT_MOVE_DIR_STOP, 0);
}
m_area = 2;
}
void PromptDialog::on_buttonX2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_LEFT, 2);
}
}
void PromptDialog::on_buttonX2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_LEFT, MT_MOVE_DIR_STOP, 0);
}
m_area = 1;
}
void PromptDialog::on_buttonY1_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_FRONT, 2);
}
}
//Y+
void PromptDialog::on_buttonY1_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_FRONT, MT_MOVE_DIR_STOP, 0);
}
m_area = 4;
}
void PromptDialog::on_buttonY2_pressed()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(XY_MOVE_BACK, 2);
}
}
//Y-
void PromptDialog::on_buttonY2_released()
{
if(g_pMachine != NULL)
{
g_pMachine->motoMove(XY_MOVE_BACK, MT_MOVE_DIR_STOP, 0);
}
m_area = 3;
}
void PromptDialog::on_buttonLKTest_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(KNIFE_U1_TEST);
}
}
void PromptDialog::on_buttonRKTest_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(KNIFE_U2_TEST);
}
}
void PromptDialog::on_buttonLKParaModify_clicked()
{
ParaStruct mcPara = g_pMachine->getMcPara();
// 刀座1安装刀类型选择 0,无 1,圆刀 2,震刀 3,铣刀 4,偏心刀1 5,偏心刀2 6,画笔 7,尖刀 8,钻孔 9,压轮
if (mcPara.buf[10] == 1)
{//1,圆刀
slot_Modify_McPara_int(87,tr("Height of tool drop during circular cutting"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 2)
{//2,震刀
slot_Modify_McPara_int(90,tr("Height of tool drop Shock knife"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 3)
{//3,铣刀
slot_Modify_McPara_int(93,tr("Height of tool drop milling cutter"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 4)
{//4,偏心刀1
slot_Modify_McPara_int(96,tr("Eccentric knife") + " 1 " + tr("machining tool drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 5)
{//5,偏心刀2
slot_Modify_McPara_int(98,tr("Eccentric knife") + " 2 " + tr("machining tool drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 7)
{//7,尖刀
slot_Modify_McPara_int(105,tr("Knife and pen drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 8)
{//8,钻孔
slot_Modify_McPara_int(103,tr("Cutting height of drilling tool during machining"),"mm",10000,-100,2);
}
else if (mcPara.buf[10] == 9)
{//9,压轮
slot_Modify_McPara_int(100,tr("Height of tool drop during wheel pressing"),"mm",10000,-100,2);
}
else
{//
}
refreshMcPara();
}
void PromptDialog::on_buttonRKParaModify_clicked()
{
ParaStruct mcPara = g_pMachine->getMcPara();
// 刀座2安装刀类型选择 0,无 1,圆刀 2,震刀 3,铣刀 4,偏心刀1 5,偏心刀2 6,画笔 7,尖刀 8,钻孔 9,压轮
if (mcPara.buf[11] == 1)
{//1,圆刀
slot_Modify_McPara_int(87,tr("Height of tool drop during circular cutting"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 2)
{//2,震刀
slot_Modify_McPara_int(90,tr("Height of tool drop Shock knife"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 3)
{//3,铣刀
slot_Modify_McPara_int(93,tr("Height of tool drop milling cutter"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 4)
{//4,偏心刀1
slot_Modify_McPara_int(96,tr("Eccentric knife") + " 1 " + tr("machining tool drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 5)
{//5,偏心刀2
slot_Modify_McPara_int(98,tr("Eccentric knife") + " 2 " + tr("machining tool drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 7)
{//7,尖刀
slot_Modify_McPara_int(105,tr("Knife and pen drop height"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 8)
{//8,钻孔
slot_Modify_McPara_int(103,tr("Cutting height of drilling tool during machining"),"mm",10000,-100,2);
}
else if (mcPara.buf[11] == 9)
{//9,压轮
slot_Modify_McPara_int(100,tr("Height of tool drop during wheel pressing"),"mm",10000,-100,2);
}
else
{//
}
refreshMcPara();
}
///
/// \brief 速度选择界面点击修改速度按钮
/// 注意更新速度的范围
///
void PromptDialog::slot_buttonSpdParaModify_clicked()
{
MyButton *p = (MyButton*)this->sender();
QString btnName = p->objectName();
int model = g_pSettings->readFromIniFile("FlatPanelSpd/Model").toInt();
//不同模式 读数据 配置文件
if(btnName.contains("buttonKn1_MinSpd")){
}
else if(btnName.contains("buttonKn1_MaxSpd")){
}
else if(btnName.contains("buttonKn1_AccSpd")){
}
else if(btnName.contains("buttonKn2_MinSpd")){
//偏心刀2最小切割速度
int val = slot_Modify_McPara_int(170,tr("Minimum cutting speed of Eccentric knife2"),"mm/s", 100, 1, 0);
p->setText(tr("Kn2Min:")+QString::number(val));//刀2最小
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(model)+"Kn2Min",QVariant(val));
}
else if(btnName.contains("buttonKn2_MaxSpd")){
//偏心刀2最大切割速度
int val = slot_Modify_McPara_int(171,tr("Maximum cutting speed of Eccentric knife2"),"mm/s", 800, 1, 0);
p->setText(tr("Kn2Max:")+QString::number(val));//刀2最大
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(model)+"Kn2Max",QVariant(val));
}
else if(btnName.contains("buttonKn2_AccSpd")){
//偏心刀2切割加速度
int val = slot_Modify_McPara_int(172,tr("Eccentric knife") + (" 2 ")+tr("cutting acceleration"),"mm/s2", 5000, 1, 0);
p->setText(tr("Kn2Acc:")+QString::number(val));//刀2加速
g_pSettings->writeOneToIniFile("FlatPanelSpd/M"+ QString::number(model)+"Kn2Acc",QVariant(val));
}
}
///
/// \brief 修改int类型的机器参数
///
int PromptDialog::slot_Modify_McPara_int(int index, QString descStr, QString unitStr, int Max, int Min, int afterpoint)
{
int val = g_pMachine->getMcPara().buf[index];
NumerInputDialog ndlg(this);
ndlg.setTitleStr(descStr);
ndlg.setUnitStr(unitStr);
ndlg.setValueAndRange(val, Min, Max, afterpoint);
int rslt = ndlg.exec();
if (rslt == 1)//点了确认按钮
{
val = ndlg.getValue();
ParaStruct para = g_pMachine->getMcPara();
para.buf[index] = val;
g_pMachine->setMcPara(&para);//发送下位机
}
return val;
}
void PromptDialog::slot_FanArea_clicked()
{
MyButton *p = (MyButton*)this->sender();
QString btnName = p->objectName();
qDebug()<<btnName;
if(btnName.contains("FanOpen5"))
{
g_pMachine->outputCtrl(OT_MAINADSORB, UP_OPEN_ON, 0);
}
else if(btnName.contains("FanClose5"))
{
g_pMachine->outputCtrl(OT_MAINADSORB, DOWN_CLOSE_OFF, 0);
}
else if(btnName.contains("FanSet"))
{
int index = btnName.right(1).toInt();
ParaStruct wkPara = g_pMachine->getWkPara();
bitset<32> intbit(wkPara.buf[83]);//吸附区域 83 bit 0-3
if(index == 1)
{
bool val = intbit.test(0); //按位修改
intbit.set(0, !val);
wkPara.buf[83] = intbit.to_ulong();
}
else if(index == 2)
{
bool val = intbit.test(1);
intbit.set(1, !val);
wkPara.buf[83] = intbit.to_ulong();
}
else if(index == 3)
{
bool val = intbit.test(2);
intbit.set(2, !val);
wkPara.buf[83] = intbit.to_ulong();
}
else if(index == 4)
{
bool val = intbit.test(3);
intbit.set(3, !val);
wkPara.buf[83] = intbit.to_ulong();
}
else if(index == 5)
{//风机吸附开关 102 bit0
bitset<32> intAllBit(wkPara.buf[102]);
bool val = intAllBit.test(0);
intAllBit.set(0, !val);
wkPara.buf[102] = intAllBit.to_ulong();
}
g_pMachine->setWkPara(&wkPara);
refreshWkPara();
}
}
void PromptDialog::slot_SpdSelect_clicked()
{
MyButton *p = (MyButton*)this->sender();
QString btnName = p->objectName();
int kn1Min{0}, kn1Acc{0}, kn2Min{0}, kn2Acc{0};
for(int i = 1;i < 6; i++){
if(btnName.contains("radioButtonSpd_"+QString::number(i))){
g_pSettings->writeOneToIniFile("FlatPanelSpd/Model",QVariant(i));
kn1Min = g_pSettings->readFromIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn1Min").toInt();
kn1Acc = g_pSettings->readFromIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn1Acc").toInt();
kn2Min = g_pSettings->readFromIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn2Min").toInt();
kn2Acc = g_pSettings->readFromIniFile("FlatPanelSpd/M"+ QString::number(i)+"Kn2Acc").toInt();
}
}
//验证数据范围是否正确
if(kn1Min<1 || kn1Min>100)
kn1Min = 10;
if(kn2Min<1 || kn2Min>100)
kn2Min = 10;
if(kn1Acc<1 || kn1Acc>5000)
kn1Acc = 500;
if(kn2Acc<1 || kn2Acc>5000)
kn2Acc = 500;
}
void PromptDialog::on_buttonFanClose5_clicked()
{
}
//一键上升
void PromptDialog::on_buttonUp_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->outputCtrl(OT_U_LIFT, UP_OPEN_ON, 0);
}
}
//一键下降
void PromptDialog::on_buttonDn_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->outputCtrl(OT_U_LIFT, DOWN_CLOSE_OFF, 0);
}
}
void PromptDialog::on_pushButton_collect_clicked()
{
emit siBladePressureCol();
return;
}
void PromptDialog::on_button_USB_clicked()
{
//文件传输方式--USB传输
emit siFileTransfer(0);
done(0);
}
void PromptDialog::on_button_Local_clicked()
{
//文件传输方式--本地文件传输
emit siFileTransfer(1);
done(0);
}
void PromptDialog::slot_BladePressure_Clicked()
{
//铣切机--刀压设置
int BladeVal = static_cast<int>(ui->pushButton_BValue->text().toDouble()*1000);
ParaStruct para = g_pMachine->getMcPara();
NumerInputDialog ndlg(this);
ndlg.setUnitStr("mm");
ndlg.setValueAndRange(BladeVal, -2000, 10000, 3);
int paramIndex = 0;
switch (ui->pushButton_Blade->text().toInt())
{
case 2:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "2");
paramIndex = 80;
break;
case 3:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "3");
paramIndex = 81;
break;
case 4:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "4");
paramIndex = 82;
break;
case 5:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "5");
paramIndex = 83;
break;
case 6:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "6");
paramIndex = 84;
break;
case 7:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "7");
paramIndex = 85;
break;
case 8:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "8");
paramIndex = 86;
break;
case 9:
ndlg.setTitleStr(tr("Custom Knife Pressure") + "9");
paramIndex = 87;
break;
default:
return;
}
if (ndlg.exec())//点了确认按钮
{
ui->pushButton_BValue->setText(ndlg.getShowStringPublic(ndlg.getValue(),4));
para.buf[paramIndex] = static_cast<int>(ui->pushButton_BValue->text().toDouble()*1000);
g_pMachine->setAMcPara(paramIndex + 1, para.buf[paramIndex]);//发送下位机
}
}
void PromptDialog::on_pushButton_test_clicked()
{
int BladeNum = ui->pushButton_Blade->text().toInt();
double BladeVal = ui->pushButton_BValue->text().toDouble();
qDebug()<<"BladeVal:"<<BladeVal<<"BladeVal*1000:"<<BladeVal*1000;
if (BladeNum < 10 && BladeNum > 1)
{
PromptDialog pPromptDlg;
pPromptDlg.initDialog(PromptDialog::BTN_OK_CANCEL);
pPromptDlg.setTitleStr(tr("Back anchor point"));//回定位点
QString str;
str = tr("The machine is about to move, please pay attention to safety!");//机器即将运动,请注意安全!
pPromptDlg.setContentStr(str);
if(pPromptDlg.exec() == 1)
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(MILLING_TEST,(BladeNum),BladeVal*1000);
qDebug() << "button selected:"<<BladeNum;
}
}
}
else
{
// 没有按钮被选中
qDebug() << "BladeNum Erro";
}
}
void PromptDialog::on_pushButton_Next_clicked()
{
int BladeNum = ui->pushButton_Blade->text().toInt();
BladeNum += 1;
if(BladeNum > 9)
{
BladeNum = 2;
}
ui->pushButton_Blade->setText(QString::number(BladeNum));
switch (BladeNum)
{
case 2:
ui->pushButton_Blade->setStyleSheet(knifeStyle2());
break;
case 3:
ui->pushButton_Blade->setStyleSheet(knifeStyle3());
break;
case 4:
ui->pushButton_Blade->setStyleSheet(knifeStyle4());
break;
case 5:
ui->pushButton_Blade->setStyleSheet(knifeStyle5());
break;
case 6:
ui->pushButton_Blade->setStyleSheet(knifeStyle6());
break;
case 7:
ui->pushButton_Blade->setStyleSheet(knifeStyle7());
break;
case 8:
ui->pushButton_Blade->setStyleSheet(knifeStyle8());
break;
case 9:
ui->pushButton_Blade->setStyleSheet(knifeStyle9());
break;
default:
break;
}
ParaStruct mcPara = g_pMachine->getMcPara();
int pressureHighValue = mcPara.buf[78+BladeNum];
double dValue = static_cast<double>(pressureHighValue);
QString strVal = QString::number(dValue/1000,'f',3);
ui->pushButton_BValue->setText(strVal);
}
void PromptDialog::on_pushButton_Pre_clicked()
{
int BladeNum = ui->pushButton_Blade->text().toInt();
BladeNum -= 1;
if(BladeNum < 2)
{
BladeNum = 9;
}
ui->pushButton_Blade->setText(QString::number(BladeNum));
switch (BladeNum)
{
case 2:
ui->pushButton_Blade->setStyleSheet(knifeStyle2());
break;
case 3:
ui->pushButton_Blade->setStyleSheet(knifeStyle3());
break;
case 4:
ui->pushButton_Blade->setStyleSheet(knifeStyle4());
break;
case 5:
ui->pushButton_Blade->setStyleSheet(knifeStyle5());
break;
case 6:
ui->pushButton_Blade->setStyleSheet(knifeStyle6());
break;
case 7:
ui->pushButton_Blade->setStyleSheet(knifeStyle7());
break;
case 8:
ui->pushButton_Blade->setStyleSheet(knifeStyle8());
break;
case 9:
ui->pushButton_Blade->setStyleSheet(knifeStyle9());
break;
default:
break;
}
ParaStruct mcPara = g_pMachine->getMcPara();
int pressureHighValue = mcPara.buf[78+BladeNum];
double dValue = static_cast<double>(pressureHighValue);
QString strVal = QString::number(dValue/1000,'f',3);
ui->pushButton_BValue->setText(strVal);
}
void PromptDialog::on_pushButton_collect_bit_clicked()
{
PromptDialog promptDlg;
promptDlg.initDialog(PromptDialog::BTN_OK_CANCEL);
promptDlg.setTitleStr(tr("Go to the collection location"));//去采集位
promptDlg.setContentStr(tr("The machine is about to move, please pay attention to safety!"));//机器即将运动,请注意安全!
if(promptDlg.exec())
g_pMachine->manualAction(SET_KNIFETEST_DOT);
}
void PromptDialog::delay(int millisecondsToWait)
{
QEventLoop loop;
QTimer::singleShot(millisecondsToWait, &loop, SLOT(quit()));
loop.exec();
}
void PromptDialog::on_buttonOverWrite_clicked()
{
done(1);
}
void PromptDialog::on_buttonSaveAs_clicked()
{
done(2);
}
void PromptDialog::on_buttonClose_clicked()
{
done(0);
}