#include "promptdialog.h" #include "ui_promptdialog.h" 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())); initDialog(); initControl(); } PromptDialog::~PromptDialog() { delete ui; } //初始化窗体 void PromptDialog::initDialog(int sel) { m_totalHead = 0; m_curColorOrder = 0;//当前色序数 m_totalColorOrder = 0;//总色序数 m_funType = sel; m_filePath.clear(); m_area = 0; setTitleStr(""); setContentStr(""); setContentProcessStr(""); ui->frameProcess->hide(); ui->labelContentInfo->setText(""); ui->labeBreakHead->setText(""); ui->labeBottomBreakHead->setText(""); ui->labelCurNeedleValue->setText("0"); ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameProcessBtn->hide(); #if(0) //全部隐藏,否则新的弹窗显示时会先刷新成之前的再刷新成新的内容,尽管刷新速度很快但仍能看出来,所以先全部隐藏 ui->frameChangePassword->hide(); ui->frameElasticCtrl->hide(); ui->frameHMIDecrypt->hide(); ui->frameHeadEmb->hide(); ui->frameLiftMControl->hide(); ui->frameManualChangeColor->hide(); ui->frameNoseHead->hide(); ui->frameProcess->hide(); ui->frameQuantityMoveFrame->hide(); ui->frameSpindleRotate->hide(); ui->frameTraceOffset->hide(); ui->frameWarrantBtn->hide(); ui->frameWorkArea->hide(); ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameProcessBtn->hide(); ui->frameDetecBtn->hide(); ui->labelContent->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->labelContentInfo->hide(); #endif m_selectNeedleIdx = 0; m_selectHeadleIdx = 0; ui->buttonOk->setEnabled(true); //蓝色 m_buttonStyle1 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(0,151,226);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}"; //白色 m_buttonStyle2 = "QPushButton{outline: none;color:rgb(10,10,10);background-color:rgb(250,250,250);border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;}"; if (sel == BTN_OK_CANCEL)//确定、取消 { ui->frameTwo->show(); ui->frameThree->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } else if (sel == BTN_OK)//确定 { ui->frameTwo->show(); ui->frameThree->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->buttonOk->show(); ui->buttonCancel->hide(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); ui->buttonOk->move(m_btnCancelPoint); } else if (sel == BTN_R_R_S)//重命名、替换、跳过 { ui->frameTwo->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameThree->show(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if (sel == BTN_RESTART)//重启 { ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameWarrantBtn->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcessBtn->show(); ui->buttonRestart->show(); ui->buttonUpdataCancel->hide(); ui->buttonRestart->move(m_btnCancelPoint); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if (sel == BTN_UCANCEL)//升级取消 { ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameWarrantBtn->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcessBtn->show(); ui->buttonRestart->hide(); ui->buttonUpdataCancel->show(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if (sel == BTN_WARRANT)//授权按钮 { ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameDetecBtn->hide(); ui->frameProcessBtn->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWarrantBtn->show(); ui->frameWorkArea->hide(); } //手动换色 else if(sel == BTN_M_C_C ) { ui->frameManualChangeColor->show();//手动换色 ui->frameTwo->show(); ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameProcess->hide(); ui->labelContentInfo->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentProcess->hide(); ui->labelContentWarrant->hide(); ui->labelContentADC->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } //面线检测 else if(sel == BTN_FACE) { ui->frameManualChangeColor->show();//手动换色,底线面线检测的时候,手动换色的窗体不能隐藏 ui->frameDetecBtn->show(); ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameProcess->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentProcess->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if(sel == BTN_NONE)//无按钮 { ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->frameProcess->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentProcess->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if(sel == BTN_P_NONE)//无按钮 { ui->frameTwo->hide(); ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->labelContentInfo->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->labelContentADC->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameWorkArea->hide(); } else if(sel == BTN_HMI_DECRYPT)//界面解密 { ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcess->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->show(); ui->frameChangePassword->hide(); ui->frameTwo->show(); ui->frameWorkArea->hide(); ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } else if(sel == BTN_CHANGE_PASSWORD)//修改一级密码 { ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcess->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->hide();//界面解密隐藏 ui->frameChangePassword->show(); ui->frameWorkArea->hide(); ui->frameTwo->show(); ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } else if(sel == BTN_TRIMDOWN)//下剪线 { ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcess->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameTwo->show(); ui->frameWorkArea->hide(); ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } else if(sel == BTN_WORK_AREA)//设置可工作区域 { ui->frameWorkArea->show(); ui->buttonX1->setText(tr("X +")); ui->buttonX2->setText(tr("X -")); ui->buttonY1->setText(tr("Y +")); ui->buttonY2->setText(tr("Y -")); ui->frameThree->hide(); ui->frameDetecBtn->hide(); ui->frameManualChangeColor->hide();//手动换色 ui->frameProcess->hide(); ui->frameProcessBtn->hide(); ui->frameWarrantBtn->hide(); ui->labelContentInfo->hide(); ui->labelContentADC->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->hide(); ui->frameHMIDecrypt->hide(); ui->frameChangePassword->hide(); ui->frameTwo->show(); ui->buttonOk->show(); ui->buttonCancel->show(); ui->buttonForward->hide();//隐藏正转按钮 ui->buttonReverse->hide();//隐藏反转按钮 ui->buttonOk->move(m_btnOkPoint); ui->buttonCancel->move(m_btnCancelPoint); } } //初始化窗体控件,包括位置、尺寸、样式 void PromptDialog::initControl() { m_buttonEmbNeedleList.clear(); for(int i = 0; i < 32; i++) { QPushButton *buttonEmbNeedle = new QPushButton(ui->frameManualChangeColor); m_buttonEmbNeedleList.append(buttonEmbNeedle); connect(buttonEmbNeedle, SIGNAL(clicked()), this, SLOT(slotEmbNeedleBtnClick()) ); } //根据不同分辨率设置控件的位置和尺寸 switch (g_emResolut) { case resolution1910: initResolution1910(); break; case resolution1006: initResolution1006(); break; default: initResolution1910(); break; } initControlStyle();//初始化窗体控件样式 } //初始化窗体控件为1920x1080分辨率 void PromptDialog::initResolution1910() { //上状态栏 this->resize(946,564); this->move((1920-this->width())/2,(1080-this->height())/2); ui->frameBack->setGeometry(0,0,946,564); ui->labelTitle->setGeometry(40,18,754,56); ui->labelContent->setGeometry(80,120,800,300); ui->labelContentInfo->setGeometry(80,120,800,300); ui->labelContentADC->setGeometry(80,120,800,300); ui->labeBreakHead->setGeometry(80,80,900,350); //ui->labeBottomBreakHead->setGeometry(80,260,900,170); ui->labelContentWarrant->setGeometry(96,134,800,260); ui->frameProcess->setGeometry(96,134,820,260); ui->labelContentProcess->setGeometry(0,20,800,100); ui->progressBar->setGeometry(0,160,754,36); ui->frameTwo->setGeometry(0,426,904,84); ui->buttonForward->setGeometry(148,0,174,70); ui->buttonReverse->setGeometry(340,0,174,70); ui->buttonOk->setGeometry(532,0,174,70); ui->buttonCancel->setGeometry(724,0,174,70); m_btnOkPoint.setX(532);//ok按钮位置 m_btnOkPoint.setY(0); m_btnCancelPoint.setX(724);//cancel按钮位置 m_btnCancelPoint.setY(0); ui->frameProcessBtn->setGeometry(0,430,904,84);//进度条 ui->buttonRestart->setGeometry(532,0,174,70); ui->buttonUpdataCancel->setGeometry(724,0,174,70); ui->frameWarrantBtn->setGeometry(0,430,904,84);//授权 ui->buttonWarrant->setGeometry(532,0,174,70); ui->buttonWarrantCancel->setGeometry(724,0,174,70); //手动换色 ui->frameManualChangeColor->setGeometry(40,78,904,340); ui->labelCurNeedle->setGeometry(1,8,230,40); ui->labelCurNeedleValue->setGeometry(239,8,240,40); for(int i = 0; i < 4; i++) { for(int j = 0; j < 8; j++) { m_buttonEmbNeedleList[i*8+j]->setGeometry(3+j*110,64+i*70,88,52); m_buttonEmbNeedleList[i*8+j]->setFont(fontNormal_1); m_buttonEmbNeedleList[i*8+j]->setText(QString::number(i*8+j+1)); } } //设置可移动区域 ui->frameWorkArea->setGeometry(40,78,904,340); ui->buttonX1->setGeometry(300,110,160,58);//x+ ui->buttonX2->setGeometry(10,110,160,58);//x- ui->buttonY1->setGeometry(150,10,160,58);//y+ ui->buttonY2->setGeometry(150,205,160,58);//y- //界面解密 ui->frameHMIDecrypt->setGeometry(40,78,904,340); ui->labelNetworkCardID->setGeometry(1,18,200,40); ui->labelNetworkCardIDValue->setGeometry(209,18,300,40); ui->labelHMIPassword->setGeometry(1,104,200,40); ui->buttonHMIPassword->setGeometry(209,100,300,58); ui->labelDecryptInfo->setGeometry(1,190,200,40); ui->labelDecryptInfoValue->setGeometry(209,190,300,40); //修改一级密码 ui->frameChangePassword->setGeometry(40,78,904,340); ui->labelNewPassword->setGeometry(10,90,420,60); ui->buttonNewPassword->setGeometry(440,90,300,60); ui->labelConfirmPassword->setGeometry(10,190,420,60); ui->buttonConfirmPassword->setGeometry(440,190,300,60); ui->frameThree->setGeometry(0,430,904,84); ui->buttonRename->setGeometry(340,0,174,70); ui->buttonReplace->setGeometry(532,0,174,70); ui->buttonSkip->setGeometry(724,0,174,70); ui->frameDetecBtn->setGeometry(0,430,904,84); ui->buttonDetectBegin->setGeometry(340,0,174,70); ui->buttonDetectEnd->setGeometry(532,0,174,70); ui->buttonDetectClose->setGeometry(724,0,174,70); } //初始化窗体控件为1024x600分辨率 void PromptDialog::initResolution1006() { //上状态栏 this->resize(508,304); this->move((1024-this->width())/2,(600-this->height())/2); ui->frameBack->setGeometry(0,0,508,304); ui->labelTitle->setGeometry(20,-4,400,56); ui->labelContent->setGeometry(46,40,400,180); ui->labelContentInfo->setGeometry(46,40,400,180); ui->labelContentADC->setGeometry(80,120,800,300); ui->labeBreakHead->setGeometry(40,40,450,180); //ui->labeBottomBreakHead->setGeometry(40,65,400,145); ui->labelContentWarrant->setGeometry(46,40,300,225); ui->frameProcess->setGeometry(20,70,480,130); ui->labelContentProcess->setGeometry(10,10,398,40); ui->progressBar->setGeometry(10,50,446,26); ui->frameTwo->setGeometry(-4,225,500,51); ui->buttonForward->setGeometry(72,0,96,40); ui->buttonReverse->setGeometry(178,0,96,40); ui->buttonOk->setGeometry(284,0,96,40); ui->buttonCancel->setGeometry(390,-1,96,40); m_btnOkPoint.setX(284);//ok按钮位置 m_btnOkPoint.setY(0); m_btnCancelPoint.setX(390);//cancel按钮位置 m_btnCancelPoint.setY(1); ui->frameProcessBtn->setGeometry(0,228,500,51);//进度条 ui->buttonRestart->setGeometry(284,0,96,40); ui->buttonUpdataCancel->setGeometry(390,1,96,40); ui->frameWarrantBtn->setGeometry(0,235,500,51);//授权 ui->buttonWarrant->setGeometry(284,0,96,40); ui->buttonWarrantCancel->setGeometry(390,1,96,40); //手动换色 ui->frameManualChangeColor->setGeometry(40,48,440,165); ui->labelCurNeedle->setGeometry(0,-10,100,40); ui->labelCurNeedleValue->setGeometry(120,-10,95,40); for(int i = 0; i < 3; i++) { for(int j = 0; j < 5; j++) { m_buttonEmbNeedleList[i*5+j]->setGeometry(3+j*88,34+i*46,66,34);//15个针杆会显示不全 -rq m_buttonEmbNeedleList[i*5+j]->setFont(fontNormal_1); m_buttonEmbNeedleList[i*5+j]->setText(QString::number(i*5+j+1)); } } ui->frameWorkArea->setGeometry(40,58,440,161); ui->buttonX1->setGeometry(170,60,70,38); ui->buttonX2->setGeometry(10,60,70,38); ui->buttonY1->setGeometry(90,10,70,38);//y+ ui->buttonY2->setGeometry(90,120,70,38); //界面解密 ui->frameHMIDecrypt->setGeometry(40,78,440,161); ui->labelNetworkCardID->setGeometry(10,12,110,40); ui->labelNetworkCardIDValue->setGeometry(130,12,200,40); ui->labelHMIPassword->setGeometry(10,52,110,40); ui->buttonHMIPassword->setGeometry(130,50,200,40); ui->labelDecryptInfo->setGeometry(10,92,110,40); ui->labelDecryptInfoValue->setGeometry(130,92,200,40); //修改一级密码 ui->frameChangePassword->setGeometry(0,78,440,161); ui->labelNewPassword->setGeometry(0,0,240,40); ui->buttonNewPassword->setGeometry(280,0,200,40); ui->labelConfirmPassword->setGeometry(0,52,240,40); ui->buttonConfirmPassword->setGeometry(280,52,200,40); ui->frameThree->setGeometry(0,225,500,51); ui->buttonRename->setGeometry(187,0,96,40); ui->buttonReplace->setGeometry(289,0,96,40); ui->buttonSkip->setGeometry(390,1,96,40); ui->frameDetecBtn->setGeometry(0,225,500,51); ui->buttonDetectBegin->setGeometry(187,0,96,40); ui->buttonDetectEnd->setGeometry(289,0,96,40); ui->buttonDetectClose->setGeometry(390,1,96,40); } //初始化窗体控件样式 void PromptDialog::initControlStyle() { SetControlStyle setControlStyle; setControlStyle.setUiName(this->objectName()); //设置控件图标 //背景图 this->setStyleSheet(LABELWHITESTYLE); ui->frameBack->setStyleSheet(TRANSPARENTSTYLE); ui->frameBack->setStyleSheet(setControlStyle.getStyleSheet(this->objectName())); ui->labelTitle->setStyleSheet(LABELWHITESTYLE); ui->labelTitle->setFont(fontNormal_1); ui->labelTitle->setAlignment(Qt::AlignLeft); ui->labelTitle->setAlignment(Qt::AlignVCenter); ui->frameProcess->setStyleSheet(TRANSPARENTSTYLE); ui->progressBar->setFont(fontNormal_1); ui->labelContent->setStyleSheet(LABELGREYSTYLE); ui->labelContent->setFont(fontNormal_1); ui->labelContent->setAlignment(Qt::AlignLeft); ui->labelContent->setAlignment(Qt::AlignVCenter); ui->labelContentADC->setStyleSheet(LABELGREYSTYLE); ui->labelContentADC->setFont(fontNormal_1); ui->labelContentADC->setAlignment(Qt::AlignLeft); ui->labelContentADC->setAlignment(Qt::AlignVCenter); ui->labeBreakHead->setStyleSheet(LABELREDSTYLE); // 断线机头 红色 字体加大 -rq ui->labeBreakHead->setFont(fontNormal_9); // ui->labeBreakHead->setAlignment(Qt::AlignHCenter); // ui->labeBreakHead->setAlignment(Qt::AlignVCenter); ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter);//文字水平垂直居中 //ui->labeBottomBreakHead->setStyleSheet(LABELREDSTYLEGREEN); // 底线断线机头 绿色 字体加大 -rq ui->labeBottomBreakHead->setFont(fontNormal_9); ui->labeBottomBreakHead->setAlignment(Qt::AlignCenter); ui->labeBottomBreakHead->setAlignment(Qt::AlignVCenter); ui->labelContentInfo->setStyleSheet(LABELGREYSTYLE); ui->labelContentInfo->setFont(fontNormal_1); ui->labelContentInfo->setAlignment(Qt::AlignLeft); ui->labelContentInfo->setAlignment(Qt::AlignVCenter); ui->labelContentProcess->setStyleSheet(LABELGREYSTYLE); ui->labelContentProcess->setFont(fontNormal_1); ui->labelContentProcess->setAlignment(Qt::AlignLeft); ui->labelContentProcess->setAlignment(Qt::AlignVCenter); ui->labelContentWarrant->setStyleSheet(LABELGREYSTYLE); ui->labelContentWarrant->setFont(fontNormal_1); ui->labelContentWarrant->setAlignment(Qt::AlignLeft); ui->labelContentWarrant->setAlignment(Qt::AlignVCenter); ui->frameTwo->setStyleSheet(TRANSPARENTSTYLE); ui->buttonOk->setWhiteBlueBottomStyle(); ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12); ui->buttonCancel->setWhiteBlueBottomStyle(); ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12); ui->buttonForward->setWhiteBlueBottomStyle(); ui->buttonForward->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonForward->objectName()),12); ui->buttonReverse->setWhiteBlueBottomStyle(); ui->buttonReverse->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonReverse->objectName()),12); ui->frameThree->setStyleSheet(TRANSPARENTSTYLE); ui->buttonRename->setWhiteBlueBottomStyle(); ui->buttonReplace->setWhiteBlueBottomStyle(); ui->buttonSkip->setWhiteBlueBottomStyle(); ui->buttonRename->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRename->objectName()),12); ui->buttonReplace->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonReplace->objectName()),12); ui->buttonSkip->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonSkip->objectName()),12); ui->frameDetecBtn->setStyleSheet(TRANSPARENTSTYLE); ui->buttonDetectBegin->setWhiteBlueBottomStyle(); ui->buttonDetectBegin->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectBegin->objectName()),12); ui->buttonDetectEnd->setWhiteBlueBottomStyle(); ui->buttonDetectEnd->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonDetectEnd->objectName()),12); ui->buttonDetectClose->setWhiteBlueBottomStyle(); ui->buttonDetectClose->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12); ui->frameProcessBtn->setStyleSheet(TRANSPARENTSTYLE); ui->buttonRestart->setWhiteBlueBottomStyle(); ui->buttonRestart->setTopImage(setControlStyle.getTopStyleSheet(ui->buttonRestart->objectName()),12); ui->buttonUpdataCancel->setWhiteBlueBottomStyle(); ui->buttonUpdataCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12); ui->frameManualChangeColor->setStyleSheet(TRANSPARENTSTYLE); ui->labelCurNeedle->setStyleSheet(LABELGREYSTYLE); ui->labelCurNeedle->setFont(fontNormal_1); ui->labelCurNeedleValue->setStyleSheet(LABELGREYSTYLE); ui->labelCurNeedleValue->setFont(fontNormal_1); //设置可工作区域 ui->frameWorkArea->setStyleSheet(TRANSPARENTSTYLE); ui->buttonX1->setFont(fontNormal_1); ui->buttonX2->setFont(fontNormal_1); ui->buttonY1->setFont(fontNormal_1); ui->buttonY2->setFont(fontNormal_1); //界面解密 ui->frameHMIDecrypt->setStyleSheet(TRANSPARENTSTYLE); ui->labelNetworkCardID->setStyleSheet(LABELGREYSTYLE); ui->labelNetworkCardID->setFont(fontNormal_1); ui->labelNetworkCardIDValue->setStyleSheet(LABELGREYSTYLE); ui->labelNetworkCardIDValue->setFont(fontNormal_1); ui->labelHMIPassword->setStyleSheet(LABELGREYSTYLE); ui->labelHMIPassword->setFont(fontNormal_1); ui->buttonHMIPassword->setFont(fontNormal_1); ui->labelDecryptInfo->setStyleSheet(LABELGREYSTYLE); ui->labelDecryptInfo->setFont(fontNormal_1); ui->labelDecryptInfoValue->setStyleSheet(LABELGREYSTYLE); ui->labelDecryptInfoValue->setFont(fontNormal_1); //修改一级密码 ui->frameChangePassword->setStyleSheet(TRANSPARENTSTYLE); ui->labelNewPassword->setStyleSheet(LABELGREYSTYLE); ui->labelNewPassword->setFont(fontNormal_1); ui->labelConfirmPassword->setStyleSheet(LABELGREYSTYLE); ui->labelConfirmPassword->setFont(fontNormal_1); ui->buttonNewPassword->setFont(fontNormal_1); ui->buttonConfirmPassword->setFont(fontNormal_1); ui->frameWarrantBtn->setStyleSheet(TRANSPARENTSTYLE); ui->buttonWarrant->setWhiteBlueBottomStyle(); ui->buttonWarrant->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonOk->objectName()+"_1"),12); ui->buttonWarrantCancel->setWhiteBlueBottomStyle(); ui->buttonWarrantCancel->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonCancel->objectName()+"_1"),12); } //设置标题 void PromptDialog::setTitleStr(QString str) { ui->labelTitle->setText(str); } //设置断线机头字体颜色 -rq 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(); ui->labelContentADC->hide(); // ui->labeBottomBreakHead->setText(str2); // ui->labeBottomBreakHead->show(); } //设置显示内容 void PromptDialog::setContentStr(QString str) { ui->frameProcess->hide(); ui->labelContentInfo->setText(""); ui->labelContentInfo->hide(); ui->labeBreakHead->setText("");//断线机头显示 ui->labeBreakHead->hide(); ui->labeBottomBreakHead->setText("");//底线断线机头显示 ui->labeBottomBreakHead->hide(); ui->labelContentWarrant->setText(""); ui->labelContentWarrant->hide(); ui->labelContent->setText(str); ui->labelContent->show(); ui->labelContentADC->hide(); } void PromptDialog::setADCContentStr() { ui->frameProcess->show(); ui->labelContentInfo->setText(""); ui->labelContentInfo->hide(); ui->labeBreakHead->setText("");//断线机头显示 ui->labeBreakHead->hide(); ui->labeBottomBreakHead->setText("");//底线断线机头显示 ui->labeBottomBreakHead->hide(); ui->labelContent->setText(""); ui->labelContent->hide(); ui->labelContentWarrant->setText(""); ui->labelContentWarrant->hide(); ui->labelContentProcess->hide(); ui->labelContentProcess->setText(""); ui->labelContentADC->show(); } void PromptDialog::setContentProcessStr(QString str) { ui->frameProcess->show(); ui->labelContentInfo->setText(""); ui->labelContentInfo->hide(); ui->labeBreakHead->setText("");//断线机头显示 ui->labeBreakHead->hide(); ui->labeBottomBreakHead->setText("");//底线断线机头显示 ui->labeBottomBreakHead->hide(); ui->labelContent->setText(""); ui->labelContent->hide(); ui->labelContentWarrant->setText(""); ui->labelContentWarrant->hide(); ui->labelContentProcess->show(); ui->labelContentProcess->setText(str); ui->labelContentADC->hide(); } void PromptDialog::setContentInfoShow() { ui->labelContent->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->frameProcess->hide(); ui->labelContentWarrant->hide(); ui->labelContentInfo->show(); ui->labelContentInfo->raise(); ui->labelContentADC->hide(); } void PromptDialog::setContentWarrantShow() { ui->labelContent->hide(); ui->labeBreakHead->hide(); ui->labeBottomBreakHead->hide(); ui->frameProcess->hide(); ui->labelContentInfo->hide(); ui->labelContentWarrant->show(); ui->labelContentADC->hide(); } 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->labelContentADC->hide(); ui->buttonOk->setEnabled(false); } void PromptDialog::setContentChangePasswordShow()//修改一级用户密码内容显示 { ui->labelContentADC->hide(); 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); } //当前针杆 void PromptDialog::setCurNeedleStr(QString idx) { ui->labelCurNeedleValue->setText(idx); } void PromptDialog::setPosValueStr(QString posValue) { QString str = "1 needle:76; 2 needle:127; 3 needle:179; 4 needle:230; 5 needle:281; 6 needle:332; (section:±4) \n \n \n"; QString strShow = str + posValue; ui->labelContentADC->setText(strShow); } //当前针杆label是否可见 void PromptDialog::setCurNeedleStrVisible(bool bl) { ui->labelCurNeedle->setVisible(bl); ui->labelCurNeedleValue->setVisible(bl); } //初始化针杆 void PromptDialog::initNeedleBar(int val) { if(val == 0){} //读入配置 QDir apppath(qApp->applicationDirPath()); //配置文件路径 QString configFile = apppath.path() + apppath.separator() + "config.ini"; QFile iniFile(configFile); QRgb * pColorBuf = (QRgb *)(g_pSettings->getColorRgbArray().data()); QString buttonStyle3 = "QPushButton{outline: none;border:0px solid rgb(0,0,0);border-style:inset;border-radius:5px;"; QString buttonStyle4 = "QPushButton:checked{outline: none;border:3px groove rgb(80,80,80);}"; int num,idx; num = idx = 0; if(!iniFile.exists()) { num = 1; idx = 0; QRgb rgb = pColorBuf[(idx % BF_SW_ND)]; rgb |= 0xff000000; QColor bkcolor(rgb); QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168); QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";" + " color:" + tcolor.name() + ";"; for(int i = 0; i < m_buttonEmbNeedleList.size(); i++) { if(i < num) { m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4); m_buttonEmbNeedleList.at(i)->show(); } else { m_buttonEmbNeedleList.at(i)->hide(); } } } else { QRgb rgb = qRgb(0,255,0); num = g_pSettings->readFromIniFile("PunchNeedle/number").toInt(); for(int i = 0; i < m_buttonEmbNeedleList.size(); i++)//针杆按钮 { QString idxStr; idxStr = "PunchNeedle/"+QString::number(i+1)+"_coloridx"; if(g_pSettings->ifKeyExists(idxStr) == true)//判断配置文件中是否有这个key(TowelNeedle/1_coloridx) { idx = g_pSettings->readFromIniFile(idxStr).toInt();//从配置文件里读的第几个针杆的颜色 rgb = pColorBuf[(idx % BF_SW_ND)]; } else { rgb = pColorBuf[(i % MC_SW_ND)]; } rgb |= 0xff000000; QColor bkcolor(rgb); QColor tcolor = QColor(255-bkcolor.red(), 255-bkcolor.green(), 255-bkcolor.blue()).lighter(168); QString cstyle = "outline: none;background-color:" + bkcolor.name() + ";" + " color:" + tcolor.name() + ";"; if(i < num)//从配置文件里读有几个针杆,然后换色弹窗就显示几个 { m_buttonEmbNeedleList.at(i)->setStyleSheet(buttonStyle3 + cstyle + "}" + buttonStyle4); m_buttonEmbNeedleList.at(i)->show(); } else { m_buttonEmbNeedleList.at(i)->hide(); } } } for(int i = 0; i < m_buttonEmbNeedleList.size(); i++) { m_buttonEmbNeedleList.at(i)->setChecked(false); m_buttonEmbNeedleList.at(i)->setCheckable(false); } ui->buttonOk->setEnabled(false); } void PromptDialog::setHeadNum(int headNum) { m_totalHead = headNum; } QString PromptDialog::getNetworkCardID() { return ui->labelNetworkCardIDValue->text(); } QString PromptDialog::getInputPassword() { return ui->buttonHMIPassword->text(); } void PromptDialog::slotMCInfoChange() { QString strInfo; MCInfo info;//机器信息 char softwareVerStr[32+1];//软件版本 char mBoardVerStr[16+1];//主板(n1)板卡版本 char exBoardVerStr[16+1];//主板(n1-1)板卡版本 char buildInfoStr[32+1];//编译日期信息 info = g_pMachine->getMcInfo(); memcpy(softwareVerStr, info.softwareVerStr, 32); memcpy(mBoardVerStr, info.mBoardVerStr, 16); memcpy(exBoardVerStr, info.exBoardVerStr, 16); memcpy(buildInfoStr, info.buildInfoStr, 32); softwareVerStr[32] = 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); if(strBoardVer.length() > 0 ) { strBoardVer.remove(" ");//清除空格 } strInfo += tr("Board:") + " " + strBoardVer + "\n"+ strBuildInfo+ "\n" + strMBoardVer + "\n" + strExBoardVer + "\n" ; QString verInfo = "\n" + strInfo; ui->labelContentInfo->setText(verInfo); //连接多块主板也是从g_pMachine(第一块)获取软件授权信息 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::slotEmbNeedleBtnClick() { m_pEmbNeedleBtn = (QPushButton*) this->sender(); if(m_pEmbNeedleBtn == NULL) { return; } for(int i = 0; i < m_buttonEmbNeedleList.size(); i++) { if(m_pEmbNeedleBtn == m_buttonEmbNeedleList.at(i)) { m_selectNeedleIdx = i+1; } m_buttonEmbNeedleList.at(i)->setChecked(false); m_buttonEmbNeedleList.at(i)->setCheckable(false); } m_pEmbNeedleBtn->setCheckable(true); m_pEmbNeedleBtn->setChecked(true); ui->buttonOk->setEnabled(true); } void PromptDialog::on_buttonOk_clicked() { 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->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_FACE)//等于面线检测 { //面线检测开始,绣花机才有,所以是g_pMachine(第一块) if(g_pMachine != NULL) { g_pMachine->testThreadBK(NOODLES,m_selectNeedleIdx); } return; } } //停止检测 void PromptDialog::on_buttonDetectEnd_clicked() { if(g_pMachine != NULL) { g_pMachine->exitDetectTest(); } } //关闭检测窗体 void PromptDialog::on_buttonDetectClose_clicked() { //退出弹窗的时候也发一个 停止检测 的命令 -rq if(m_funType == BTN_FACE)//等于面线、底线检测 { 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_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); } } }