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

1066 lines
42 KiB
C++
Raw Permalink 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 "patternneedlelayoutwidget.h"
#include "ui_patternneedlelayoutwidget.h"
PatternNeedleLayoutWidget::PatternNeedleLayoutWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::PatternNeedleLayoutWidget)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
m_NeedleBtnList.clear();
m_NeedleBtnList.append(ui->pushButtonFront1);
m_NeedleBtnList.append(ui->pushButtonFront2);
m_NeedleBtnList.append(ui->pushButtonFront3);
m_NeedleBtnList.append(ui->pushButtonFront4);
m_NeedleBtnList.append(ui->pushButtonFront5);
m_NeedleBtnList.append(ui->pushButtonFront6);
m_NeedleBtnList.append(ui->pushButtonFront7);
m_NeedleBtnList.append(ui->pushButtonFront8);
m_NeedleBtnList.append(ui->pushButtonFront9);
m_NeedleBtnList.append(ui->pushButtonFront10);
m_NeedleBtnList.append(ui->pushButtonFront11);
m_NeedleBtnList.append(ui->pushButtonFront12);
m_NeedleBtnList.append(ui->pushButtonFront13);
m_NeedleBtnList.append(ui->pushButtonFront14);
m_NeedleBtnList.append(ui->pushButtonFront15);
m_NeedleBtnList.append(ui->pushButtonFront16);
m_NeedleBtnList.append(ui->pushButtonFront17);
m_NeedleBtnList.append(ui->pushButtonFront18);
m_NeedleBtnList.append(ui->pushButtonFront19);
m_NeedleBtnList.append(ui->pushButtonFront20);
m_NeedleBtnList.append(ui->pushButtonFront21);
m_NeedleBtnList.append(ui->pushButtonFront22);
m_NeedleBtnList.append(ui->pushButtonFront23);
m_NeedleBtnList.append(ui->pushButtonFront24);
m_NeedleBtnList.append(ui->pushButtonMiddle1);
m_NeedleBtnList.append(ui->pushButtonMiddle2);
m_NeedleBtnList.append(ui->pushButtonMiddle3);
m_NeedleBtnList.append(ui->pushButtonMiddle4);
m_NeedleBtnList.append(ui->pushButtonMiddle5);
m_NeedleBtnList.append(ui->pushButtonMiddle6);
m_NeedleBtnList.append(ui->pushButtonMiddle7);
m_NeedleBtnList.append(ui->pushButtonMiddle8);
m_NeedleBtnList.append(ui->pushButtonMiddle9);
m_NeedleBtnList.append(ui->pushButtonMiddle10);
m_NeedleBtnList.append(ui->pushButtonMiddle11);
m_NeedleBtnList.append(ui->pushButtonMiddle12);
m_NeedleBtnList.append(ui->pushButtonMiddle13);
m_NeedleBtnList.append(ui->pushButtonMiddle14);
m_NeedleBtnList.append(ui->pushButtonMiddle15);
m_NeedleBtnList.append(ui->pushButtonMiddle16);
m_NeedleBtnList.append(ui->pushButtonMiddle17);
m_NeedleBtnList.append(ui->pushButtonMiddle18);
m_NeedleBtnList.append(ui->pushButtonMiddle19);
m_NeedleBtnList.append(ui->pushButtonMiddle20);
m_NeedleBtnList.append(ui->pushButtonMiddle21);
m_NeedleBtnList.append(ui->pushButtonMiddle22);
m_NeedleBtnList.append(ui->pushButtonMiddle23);
m_NeedleBtnList.append(ui->pushButtonMiddle24);
m_NeedleBtnList.append(ui->pushButtonBehind1);
m_NeedleBtnList.append(ui->pushButtonBehind2);
m_NeedleBtnList.append(ui->pushButtonBehind3);
m_NeedleBtnList.append(ui->pushButtonBehind4);
m_NeedleBtnList.append(ui->pushButtonBehind5);
m_NeedleBtnList.append(ui->pushButtonBehind6);
m_NeedleBtnList.append(ui->pushButtonBehind7);
m_NeedleBtnList.append(ui->pushButtonBehind8);
m_NeedleBtnList.append(ui->pushButtonBehind9);
m_NeedleBtnList.append(ui->pushButtonBehind10);
m_NeedleBtnList.append(ui->pushButtonBehind11);
m_NeedleBtnList.append(ui->pushButtonBehind12);
m_NeedleBtnList.append(ui->pushButtonBehind13);
m_NeedleBtnList.append(ui->pushButtonBehind14);
m_NeedleBtnList.append(ui->pushButtonBehind15);
m_NeedleBtnList.append(ui->pushButtonBehind16);
m_NeedleBtnList.append(ui->pushButtonBehind17);
m_NeedleBtnList.append(ui->pushButtonBehind18);
m_NeedleBtnList.append(ui->pushButtonBehind19);
m_NeedleBtnList.append(ui->pushButtonBehind20);
m_NeedleBtnList.append(ui->pushButtonBehind21);
m_NeedleBtnList.append(ui->pushButtonBehind22);
m_NeedleBtnList.append(ui->pushButtonBehind23);
m_NeedleBtnList.append(ui->pushButtonBehind24);
for(int i = 0; i < m_NeedleBtnList.size(); i++)
{
connect(m_NeedleBtnList[i],
SIGNAL(clicked()),
this,
SLOT(slotNeedleBtnClicked()));
}
m_pCurEmbData = new EmbData();
m_leftRightNeedleSpace = 635;//左右针间距
m_needlesSpace = 2540;//针与针之间间距
m_needleLayoutSpace12 = 7620;//针排间距
m_needleLayoutSpace23 = 7620;//针排间距
m_btnSelect = -1;
memset(m_arrayNeedle1,NEEDLENOTSET,sizeof(m_arrayNeedle1));
memset(m_arrayNeedle2,NEEDLENOTSET,sizeof(m_arrayNeedle2));
memset(m_arrayNeedle3,NEEDLENOTSET,sizeof(m_arrayNeedle3));
this->setStyleSheet("background-color: rgb(223, 223, 223);");
initResolution();
initControlStyle();
}
PatternNeedleLayoutWidget::~PatternNeedleLayoutWidget()
{
if(m_pCurEmbData != NULL)
{
delete m_pCurEmbData;
}
delete ui;
}
//返回一个按钮-高和宽最小的一个数值
int PatternNeedleLayoutWidget::returnMinimumSize(QPushButton *button)
{
// 确保指针不是 nullptr以避免在按钮未正确初始化时导致的问题
if (button == NULL) {
return 0; // 或者抛出异常或处理这种情况
}
// 使用三元运算符来返回宽度和高度中的较大值
return button->width() < button->height() ? button->width() : button->height();
}
// 设置银色按钮,黑字
void PatternNeedleLayoutWidget::setButtonStyle(QPushButton *button)
{
// 银色按钮,黑字
QString style = "QPushButton{background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(255, 255, 255), stop:1 rgb(215, 243, 254));color: rgb(0, 0, 0);}";
style += "QPushButton:pressed{background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(217, 222, 224), stop:1 rgb(191, 213, 223));}";
style += "QPushButton:disabled{background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(230, 230, 230), stop:1 rgb(182, 182, 182));}";
button->setStyleSheet(style);
}
//设置按钮颜色橙色--清空文本设置icon
void PatternNeedleLayoutWidget::setOrangeButtonStyleSettingsIcon(QPushButton *button)
{
QString iconName = ":/images/PatternNeedleLayoutWidget/"+button->objectName()+".png";
button->setIcon(QIcon(iconName));
button->setIconSize(QSize(returnMinimumSize(button), returnMinimumSize(button)));
button->setText("");
QString style = "QPushButton{border-radius:" + borderRadius() + "px;}";
// 橙色按钮,白字
style += "QPushButton{background-color: qlineargradient(spread:pad, x1:0.5 y1:0, x2:0.5, y2:1, stop:0 rgb(247, 180, 61), stop:1 rgb(222, 162, 55));color:rgb(255,255,255);}";
style += "QPushButton:pressed{background-color: qlineargradient(spread:pad, x1:0.5 y1:0, x2:0.5, y2:1, stop:0 rgb(222, 196, 128), stop:1 rgb(213,125,54));color:rgb(255,255,255);}";
style += "QPushButton:disabled{background-color: qlineargradient(spread:pad, x1:0.5 y1:0, x2:0.5, y2:1, stop:0 rgb(227, 227, 227), stop:1 rgb(177,177,177));color:rgb(255,255,255);}";
button->setStyleSheet(style);
}
//设置按钮颜色--天蓝色渐变
void PatternNeedleLayoutWidget::setButtonColorForSkyBlue(QPushButton *button)
{
QString style = "QPushButton{border-radius:" + borderRadius() + "px;}";
style += "QPushButton{background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #7DE0E1, stop: 1 #39C2DC);border: none;}";
style += "QPushButton:pressed{background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #6DC3C4, stop: 1 #32AAC0);border: none;}";
style += "QPushButton:disabled{background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #E8E8E8, stop: 1 #B3B3B3);border: none;color:rgb(0,0,0);}";
style += "QPushButton:checked{background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #E8E8E8, stop: 1 #B3B3B3);border: none;color:rgb(0,0,0);}";
button->setStyleSheet(style);
}
//设置按钮颜色--银色边框白底黑字
void PatternNeedleLayoutWidget::setButtonStyleForSilverBorder(QPushButton *button)
{
QString style = "QPushButton {"
"background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(255, 255, 255), stop:1 rgb(215, 243, 254));"
"color: rgb(0, 0, 0);"
"border: 2px solid rgb(200, 200, 200);"
"border-radius: 5px;"
"} "
"QPushButton:pressed {"
"background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(217, 222, 224), stop:1 rgb(191, 213, 223));"
"border: 2px solid rgb(235, 235, 235);"
"} "
"QPushButton:disabled {"
"background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgb(230, 230, 230), stop:1 rgb(182, 182, 182));"
"color: rgb(150, 150, 150);"
"border: 2px solid rgb(180, 180, 180);"
"}";
button->setStyleSheet(style);
}
void PatternNeedleLayoutWidget::selectNextBtn()
{
int index = 0;
for(int i = 0; i < m_NeedleBtnList.size(); i++)
{
QPushButton* p_btn = m_NeedleBtnList.at(i);
if(p_btn->isChecked())
{
index = i;
break;
}
}
index++;
if(index < m_NeedleBtnList.size())
{
QPushButton* p_btn = m_NeedleBtnList.at(index);
p_btn->click();
}
}
//初始化窗体控件为任意分辨率
void PatternNeedleLayoutWidget::initResolution()
{
double factoryX = getFactoryX();
double factoryY = getFactoryY();
this->resize(GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
ui->frameBGImg->setGeometry(0*factoryX,0*factoryY,GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
ui->frameBack->setGeometry(0*factoryX,0*factoryY,GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
ui->buttonTypeLogo->setGeometry(GLB_EDGE_WIGHT*factoryX,GLB_EDGE_HEIGHT*factoryY,GLB_LICON_SIZE*factoryX,GLB_LICON_SIZE*factoryY);
ui->labelMainTitle->setGeometry((GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT)*factoryX,GLB_EDGE_HEIGHT*factoryY,
(GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT*2))*factoryX,GLB_TEXT_L_HEIGHT*factoryY);
ui->labelSubTitle->setGeometry((GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT+GLB_TAB_WIGHT)*factoryX,(GLB_EDGE_HEIGHT+GLB_LICON_SIZE-GLB_TEXT_HEIGHT)*factoryY,
(GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT+GLB_TAB_WIGHT*2))*factoryX,GLB_TEXT_HEIGHT*factoryY);
ui->framePageBtn->setGeometry(0*factoryX,(GLB_SCR_HEIGHT-GLB_LBUT_HEIGHT-GLB_EDGE_WIGHT)*factoryY,GLB_SCR_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonClear->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*3+GLB_LBUT_WIGHT*4))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonCircle->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*2+GLB_LBUT_WIGHT*3))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonOk->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*1+GLB_LBUT_WIGHT*2))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->buttonCancel->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*0+GLB_LBUT_WIGHT*1))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
ui->labelImage->setGeometry(80*factoryX,320*factoryY,451*factoryX,251*factoryY);
ui->labelExplain->setGeometry(527*factoryX,470*factoryY,440*factoryX,50*factoryY);
ui->pushButtonDouble->setGeometry(881*factoryX,435*factoryY,80*factoryX,30*factoryY);
ui->pushButtonLeft->setGeometry(645*factoryX,435*factoryY,80*factoryX,30*factoryY);
ui->pushButtonNone->setGeometry(527*factoryX,435*factoryY,80*factoryX,30*factoryY);
ui->pushButtonRight->setGeometry(763*factoryX,435*factoryY,80*factoryX,30*factoryY);
ui->pushButtonLRSpace->setGeometry(876*factoryX,310*factoryY,50*factoryX,20*factoryY);
ui->pushButtonNSpace->setGeometry(876*factoryX,340*factoryY,50*factoryX,20*factoryY);
ui->pushButton12Space->setGeometry(876*factoryX,370*factoryY,50*factoryX,20*factoryY);
ui->pushButton23Space->setGeometry(876*factoryX,400*factoryY,50*factoryX,20*factoryY);
ui->labelLRSpace->setGeometry(527*factoryX,310*factoryY,321*factoryX,20*factoryY);
ui->labelNSpace->setGeometry(527*factoryX,340*factoryY,321*factoryX,20*factoryY);
ui->label12Space->setGeometry(527*factoryX,370*factoryY,321*factoryX,20*factoryY);
ui->label23Space->setGeometry(527*factoryX,400*factoryY,321*factoryX,20*factoryY);
ui->labelUnit1->setGeometry(932*factoryX,310*factoryY,41*factoryX,20*factoryY);
ui->labelUnit2->setGeometry(932*factoryX,340*factoryY,41*factoryX,20*factoryY);
ui->labelUnit3->setGeometry(932*factoryX,370*factoryY,41*factoryX,20*factoryY);
ui->labelUnit4->setGeometry(932*factoryX,400*factoryY,41*factoryX,20*factoryY);
ui->frameBehind->setGeometry(10*factoryX,230*factoryY,991*factoryX,60*factoryY);
ui->frameMiddle->setGeometry(10*factoryX,160*factoryY,991*factoryX,60*factoryY);
ui->frameFront->setGeometry(10*factoryX,90*factoryY,991*factoryX,60*factoryY);
for(int i = 0; i <m_NeedleBtnList.size() ; i++)
{
m_NeedleBtnList[i]->setGeometry((20+(40*(i%24)))*factoryX,14*factoryY,32*factoryX,32*factoryY);
}
}
//初始化窗体控件的样式
void PatternNeedleLayoutWidget::initControlStyle()
{
ui->buttonTypeLogo->setUnPreBtnLogo(":/images/PatternNeedleLayoutWidget/mybutton_logo.png");
ui->labelMainTitle->setText(tr("Alignment preview"));
ui->labelSubTitle->setText(tr("Pattern setting") + ">" + tr(" Alignment preview"));
ui->frameBGImg->setStyleSheet("QFrame {"
"border-image: url(:/images/PatternEditWidget/WidgetFrameBack_1006_logo.png) 0 0 0 0 stretch stretch;"
"}");
ui->frameBack->setStyleSheet("background: transparent;");
ui->labelImage->setStyleSheet("background: transparent;");
ui->frameBehind->setStyleSheet("background: transparent;");
ui->frameFront->setStyleSheet("background: transparent;");
ui->frameMiddle->setStyleSheet("background: transparent;");
ui->framePageBtn->setStyleSheet("background: transparent;");
//label样式
ui->labelMainTitle->setFont(fontSize_L());
ui->labelMainTitle->setStyleSheet(titleTextColour());
ui->labelSubTitle->setFont(fontSize_M());
ui->labelSubTitle->setStyleSheet(noteTextColour());
for(int i=0;i<m_NeedleBtnList.size();i++)
{
setButtonStyle(m_NeedleBtnList[i]);
m_NeedleBtnList[i]->setFont(fontSize_M());
}
setOrangeButtonStyleSettingsIcon(ui->buttonOk);
setOrangeButtonStyleSettingsIcon(ui->buttonClear);
setOrangeButtonStyleSettingsIcon(ui->buttonCircle);
setOrangeButtonStyleSettingsIcon(ui->buttonCancel);
ui->labelLRSpace->setText(tr("Left and right needle spacing :"));//左右针间距
ui->labelNSpace->setText(tr("Needle to needle spacing :"));//针与针间距
ui->label12Space->setText(tr("First, second row needle spacing :"));//第一、二排针间距
ui->label23Space->setText(tr("Second, thrid row needle spacing :"));//第二、三排针间距
ui->labelLRSpace->setFont(fontSize_M());
ui->labelNSpace->setFont(fontSize_M());
ui->label12Space->setFont(fontSize_M());
ui->label23Space->setFont(fontSize_M());
ui->label12Space->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->label23Space->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelLRSpace->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelNSpace->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelUnit1->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelUnit2->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelUnit3->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelUnit4->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->labelExplain->setStyleSheet("background: transparent;color:rgb(255, 255, 255)");
ui->label12Space->setFont(fontSize_M());
ui->label23Space->setFont(fontSize_M());
ui->labelLRSpace->setFont(fontSize_M());
ui->labelNSpace->setFont(fontSize_M());
ui->labelUnit1->setFont(fontSize_M());
ui->labelUnit2->setFont(fontSize_M());
ui->labelUnit3->setFont(fontSize_M());
ui->labelUnit4->setFont(fontSize_M());
ui->labelExplain->setFont(fontSize_M());
ui->pushButtonNone->setFont(fontSize_M());
ui->pushButtonRight->setFont(fontSize_M());
ui->pushButtonLeft->setFont(fontSize_M());
ui->pushButtonDouble->setFont(fontSize_M());
ui->pushButton12Space->setFont(fontSize_M());
ui->pushButton23Space->setFont(fontSize_M());
ui->pushButtonLRSpace->setFont(fontSize_M());
ui->pushButtonNSpace->setFont(fontSize_M());
setButtonStyleForSilverBorder(ui->pushButton12Space);
setButtonStyleForSilverBorder(ui->pushButton23Space);
setButtonStyleForSilverBorder(ui->pushButtonLRSpace);
setButtonStyleForSilverBorder(ui->pushButtonNSpace);
setButtonColorForSkyBlue(ui->pushButtonNone);
setButtonColorForSkyBlue(ui->pushButtonRight);
setButtonColorForSkyBlue(ui->pushButtonLeft);
setButtonColorForSkyBlue(ui->pushButtonDouble);
ui->pushButtonNone->setDisabled(true);
ui->pushButtonLeft->setDisabled(true);
ui->pushButtonRight->setDisabled(true);
ui->pushButtonDouble->setDisabled(true);
ui->pushButtonDouble->setVisible(false);
}
void PatternNeedleLayoutWidget::on_pushButtonNone_clicked()
{
if(m_btnSelect < 0)
{
return;
}
if(m_btnSelect < LAYOUTNEEDLENUM && m_btnSelect >= 0)
{
m_arrayNeedle1[m_btnSelect] = NEEDLENONE;
refreshView(1); //更新前排数据
}
else if(m_btnSelect < LAYOUTNEEDLENUM*2 && m_btnSelect >= LAYOUTNEEDLENUM)
{
m_arrayNeedle2[m_btnSelect-LAYOUTNEEDLENUM] = NEEDLENONE;
refreshView(2); //更新中排数据
}
else if(m_btnSelect < LAYOUTNEEDLENUM*3 && m_btnSelect >= LAYOUTNEEDLENUM*2)
{
m_arrayNeedle3[m_btnSelect-LAYOUTNEEDLENUM*2] = NEEDLENONE;
refreshView(3); //更新后排数据
}
m_NeedleBtnList[m_btnSelect]->setText("O");
selectNextBtn();
}
void PatternNeedleLayoutWidget::on_pushButtonLeft_clicked()
{
if(m_btnSelect < 0)
{
return;
}
if(m_btnSelect < LAYOUTNEEDLENUM && m_btnSelect >= 0)
{
m_arrayNeedle1[m_btnSelect] = NEEDLELEFT;
refreshView(1);
}
else if(m_btnSelect < LAYOUTNEEDLENUM*2 && m_btnSelect >= LAYOUTNEEDLENUM)
{
m_arrayNeedle2[m_btnSelect-LAYOUTNEEDLENUM] = NEEDLELEFT;
refreshView(2);
}
else if(m_btnSelect < LAYOUTNEEDLENUM*3 && m_btnSelect >= LAYOUTNEEDLENUM*2)
{
m_arrayNeedle3[m_btnSelect-LAYOUTNEEDLENUM*2] = NEEDLELEFT;
refreshView(3);
}
m_NeedleBtnList[m_btnSelect]->setText("L");
selectNextBtn();
}
void PatternNeedleLayoutWidget::on_pushButtonRight_clicked()
{
if(m_btnSelect < 0)
{
return;
}
if(m_btnSelect < LAYOUTNEEDLENUM && m_btnSelect >= 0)
{
m_arrayNeedle1[m_btnSelect] = NEEDLERIGHT;
refreshView(1);
}
else if(m_btnSelect < LAYOUTNEEDLENUM*2 && m_btnSelect >= LAYOUTNEEDLENUM)
{
m_arrayNeedle2[m_btnSelect-LAYOUTNEEDLENUM] = NEEDLERIGHT;
refreshView(2);
}
else if(m_btnSelect < LAYOUTNEEDLENUM*3 && m_btnSelect >= LAYOUTNEEDLENUM*2)
{
m_arrayNeedle3[m_btnSelect-LAYOUTNEEDLENUM*2] = NEEDLERIGHT;
refreshView(3);
}
m_NeedleBtnList[m_btnSelect]->setText("R");
selectNextBtn();
}
void PatternNeedleLayoutWidget::on_buttonCircle_clicked()
{
unsigned char arrayNeedle1[LAYOUTNEEDLENUM]; // 第1排排针
memcpy((char*)arrayNeedle1,(char*)m_arrayNeedle1,sizeof(m_arrayNeedle1));
unsigned char arrayNeedle2[LAYOUTNEEDLENUM]; // 第2排排针
memcpy((char*)arrayNeedle2,(char*)m_arrayNeedle2,sizeof(m_arrayNeedle2));
unsigned char arrayNeedle3[LAYOUTNEEDLENUM]; // 第3排排针
memcpy((char*)arrayNeedle3,(char*)m_arrayNeedle3,sizeof(m_arrayNeedle3));
//前排循环
s16 needle1Num = 0;
for(u16 i = 0; i < sizeof(m_arrayNeedle1); i++)
{
if(m_arrayNeedle1[i] == NEEDLENOTSET)
{
break;
}
needle1Num++;
}
if(needle1Num > 0)
{
u16 idx = 0;
unsigned char cpArrayNeedle1[needle1Num];
memcpy((char*)cpArrayNeedle1,(char*)m_arrayNeedle1,sizeof(cpArrayNeedle1));
for(u16 i = 0; i < sizeof(m_arrayNeedle1); i++)
{
if(i >= needle1Num)
{
idx = i % needle1Num;
}
else
{
idx = i;
}
m_arrayNeedle1[i] = cpArrayNeedle1[idx];
}
}
//中排循环
s16 needle2Num = 0;
for(u16 i = 0; i < sizeof(m_arrayNeedle2); i++)
{
if(m_arrayNeedle2[i] == NEEDLENOTSET)
{
break;
}
needle2Num++;
}
if(needle2Num > 0)
{
u16 idx = 0;
unsigned char cpArrayNeedle2[needle2Num];
memcpy((char*)cpArrayNeedle2,(char*)m_arrayNeedle2,sizeof(cpArrayNeedle2));
for(u16 i = 0; i < sizeof(m_arrayNeedle2); i++)
{
if(i >= needle2Num)
{
idx = i % needle2Num;
}
else
{
idx = i;
}
m_arrayNeedle2[i] = cpArrayNeedle2[idx];
}
}
//后排循环
s16 needle3Num = 0;
for(u16 i = 0; i < sizeof(m_arrayNeedle3); i++)
{
if(m_arrayNeedle3[i] == NEEDLENOTSET)
{
break;
}
needle3Num++;
}
if(needle3Num > 0)
{
u16 idx = 0;
unsigned char cpArrayNeedle3[needle3Num];
memcpy((char*)cpArrayNeedle3,(char*)m_arrayNeedle3,sizeof(cpArrayNeedle3));
for(u16 i = 0; i < sizeof(m_arrayNeedle3); i++)
{
if(i >= needle3Num)
{
idx = i % needle3Num;
}
else
{
idx = i;
}
m_arrayNeedle3[i] = cpArrayNeedle3[idx];
}
}
refreshNeedleText();
//重置绘制数据
bool bl1 = memcmp((char*)m_arrayNeedle1,(char*)arrayNeedle1,sizeof(arrayNeedle1));
bool bl2 = memcmp((char*)m_arrayNeedle2,(char*)arrayNeedle2,sizeof(arrayNeedle2));
bool bl3 = memcmp((char*)m_arrayNeedle3,(char*)arrayNeedle3,sizeof(arrayNeedle3));
m_pCurEmbData->setViewInfo(ui->labelImage->width(),ui->labelImage->height());
if(bl1 == true)//设置改变
{
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_newLRSpaceValue,m_newNSpaceValue,m_new12SpaceValue,m_new23SpaceValue,1);
}
if(bl2 == true)//设置改变
{
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_newLRSpaceValue,m_newNSpaceValue,m_new12SpaceValue,m_new23SpaceValue,2);
}
if(bl3 == true)//设置改变
{
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_newLRSpaceValue,m_newNSpaceValue,m_new12SpaceValue,m_new23SpaceValue,3);
}
m_pCurEmbData->createDispFromEmbDs16DatForFlyShuttle(1);
m_pCurEmbData->setDispMode(EmbData::DISP_ALL_NORMAL,1); // 重新画灰图
QPixmap patternPix = m_pCurEmbData->getPreviewImage();
ui->labelImage->setPixmap(patternPix);
}
void PatternNeedleLayoutWidget::on_buttonOk_clicked()
{
if(m_filePath.length() <= 0)
{
return;
}
QFileInfo file(m_filePath);
QString ext = file.suffix().toUpper();
//将排针信息保存到文件中
if(ext == "QUI")
{
DataFileQui qui;
qui.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
QuiFileHead *head = qui.getQuiHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = m_newLRSpaceValue;
head->leftRightLen = m_newLRSpaceValue;//左右针间距
m_needlesSpace = m_newNSpaceValue;
head->HStep = m_needlesSpace;//针与针之间间距
m_needleLayoutSpace12 = m_new12SpaceValue;
head->VStep12 = m_needleLayoutSpace12;//针排间距
m_needleLayoutSpace23 = m_new23SpaceValue;
head->VStep23 = m_needleLayoutSpace23;//针排间距
memcpy((char*)head->arrayNeedle1,(char*)m_arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)head->arrayNeedle2,(char*)m_arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)head->arrayNeedle3,(char*)m_arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
qui.writePatternParaToFile(head);
}
else if(ext == "QUIX")
{
DataFileQuix quix;
quix.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
QuixFileHead *head = quix.getQuixHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = m_newLRSpaceValue;
head->leftRightLen = m_leftRightNeedleSpace;//左右针间距
m_needlesSpace = m_newNSpaceValue;
head->HStep = m_needlesSpace;//针与针之间间距
m_needleLayoutSpace12 = m_new12SpaceValue;
head->VStep12 = m_needleLayoutSpace12;//针排间距
m_needleLayoutSpace23 = m_new23SpaceValue;
head->VStep23 = m_needleLayoutSpace23;//针排间距
memcpy((char*)head->arrayNeedle1,(char*)m_arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)head->arrayNeedle2,(char*)m_arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)head->arrayNeedle3,(char*)m_arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
quix.writePatternParaToFile(head);
}
else if(ext == "DSR")
{
DataFileDsr dsr;
dsr.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
DsrHead *head = dsr.getDsrHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = m_newLRSpaceValue;
head->leftRightLen = m_leftRightNeedleSpace;//左右针间距
m_needlesSpace = m_newNSpaceValue;
head->HStep = m_needlesSpace;//针与针之间间距
m_needleLayoutSpace12 = m_new12SpaceValue;
head->VStep12 = m_needleLayoutSpace12;//针排间距
m_needleLayoutSpace23 = m_new23SpaceValue;
head->VStep23 = m_needleLayoutSpace23;//针排间距
memcpy((char*)head->arrayNeedle1,(char*)m_arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)head->arrayNeedle2,(char*)m_arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)head->arrayNeedle3,(char*)m_arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
dsr.writePatternParaToFile(head);
}
emit siPatternNeedlePreview();
}
void PatternNeedleLayoutWidget::on_buttonCancel_clicked()
{
this->hide();
}
void PatternNeedleLayoutWidget::slotNeedleBtnClicked()
{
QPushButton *button = (QPushButton*) this->sender();
if(button == NULL)
{
return;
}
if(button->isCheckable() == true)
{
button->setChecked(false);
button->setCheckable(false);
m_btnSelect = -1;
ui->pushButtonNone->setDisabled(true);
ui->pushButtonLeft->setDisabled(true);
ui->pushButtonRight->setDisabled(true);
ui->pushButtonDouble->setDisabled(true);
}
else
{
//其他按钮Checked变为false
for(int i = 0; i < m_NeedleBtnList.size(); i++)
{
m_NeedleBtnList[i]->setChecked(false);
m_NeedleBtnList[i]->setCheckable(false);
if(button == m_NeedleBtnList[i])
{
button->setCheckable(true);
button->setChecked(true);
m_btnSelect = i;
if(!ui->pushButtonNone->isEnabled())
{
ui->pushButtonNone->setDisabled(false);
ui->pushButtonLeft->setDisabled(false);
ui->pushButtonRight->setDisabled(false);
ui->pushButtonDouble->setDisabled(false);
}
}
}
}
}
void PatternNeedleLayoutWidget::refreshNeedleText()
{
//刷新按钮显示
for(u16 i = 0; i < sizeof(m_arrayNeedle1); i++)
{
if(m_arrayNeedle1[i] == NEEDLENOTSET)
{
m_NeedleBtnList[i]->setText("X");
}
else if(m_arrayNeedle1[i] == NEEDLENONE)
{
m_NeedleBtnList[i]->setText("O");
}
else if(m_arrayNeedle1[i] == NEEDLELEFT)
{
m_NeedleBtnList[i]->setText("L");
}
else if(m_arrayNeedle1[i] == NEEDLERIGHT)
{
m_NeedleBtnList[i]->setText("R");
}
else
{
m_NeedleBtnList[i]->setText("X");
}
}
for(u16 i = 0; i < sizeof(m_arrayNeedle2); i++)
{
if(m_arrayNeedle2[i] == NEEDLENOTSET)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM]->setText("X");
}
else if(m_arrayNeedle2[i] == NEEDLENONE)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM]->setText("O");
}
else if(m_arrayNeedle2[i] == NEEDLELEFT)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM]->setText("L");
}
else if(m_arrayNeedle2[i] == NEEDLERIGHT)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM]->setText("R");
}
else
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM]->setText("X");
}
}
for(u16 i = 0; i < sizeof(m_arrayNeedle3); i++)
{
if(m_arrayNeedle3[i] == NEEDLENOTSET)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM*2]->setText("X");
}
else if(m_arrayNeedle3[i] == NEEDLENONE)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM*2]->setText("O");
}
else if(m_arrayNeedle3[i] == NEEDLELEFT)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM*2]->setText("L");
}
else if(m_arrayNeedle3[i] == NEEDLERIGHT)
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM*2]->setText("R");
}
else
{
m_NeedleBtnList[i+LAYOUTNEEDLENUM*2]->setText("X");
}
}
}
void PatternNeedleLayoutWidget::refreshView(s16 idx)
{
if(idx == 0)
{
QByteArray ary = m_pCurEmbData->getDsDat();
if(ary.size() > 0)
{
m_pCurEmbData->getOneDispDat(ary);
}
}
m_pCurEmbData->setViewInfo(ui->labelImage->width(),ui->labelImage->height());
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_newLRSpaceValue,m_newNSpaceValue,m_new12SpaceValue,m_new23SpaceValue,idx);
m_pCurEmbData->createDispFromEmbDs16DatForFlyShuttle();
m_pCurEmbData->setDispMode(EmbData::DISP_ALL_NORMAL,1); // 重新画灰图
QPixmap patternPix = m_pCurEmbData->getPreviewImage();
ui->labelImage->setPixmap(patternPix);
}
void PatternNeedleLayoutWidget::refreshSpace()
{
ui->pushButtonLRSpace->setText("6.35");
ui->pushButtonNSpace->setText("25.4");
ui->pushButton12Space->setText("76.2");
ui->pushButton23Space->setText("76.2");
m_leftRightNeedleSpace = 635;
m_needlesSpace = 2540;
m_needleLayoutSpace12 = 7620;
m_needleLayoutSpace23 = 7620;
m_newLRSpaceValue = 635;
m_newNSpaceValue = 2540;
m_new12SpaceValue = 7620;
m_new23SpaceValue = 7620;
refreshView(0);
}
void PatternNeedleLayoutWidget::showView(QString filePath,QByteArray absAry)
{
ui->buttonOk->setDisabled(false);
m_filePath = filePath;
if(m_filePath.length() <= 0)
{
return;
}
m_leftRightNeedleSpace = 635;//左右针间距
m_needlesSpace = 2540;//针与针之间间距
m_needleLayoutSpace12 = 7620;//针排间距
m_needleLayoutSpace23 = 7620;//针排间距
memset(m_arrayNeedle1,NEEDLENOTSET,sizeof(m_arrayNeedle1));
memset(m_arrayNeedle2,NEEDLENOTSET,sizeof(m_arrayNeedle2));
memset(m_arrayNeedle3,NEEDLENOTSET,sizeof(m_arrayNeedle3));
QFileInfo file(m_filePath);
QString ext = file.suffix().toUpper();
//读取排针信息
if(ext == "QUI")
{
DataFileQui qui;
qui.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
QuiFileHead *head = qui.getQuiHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = head->leftRightLen;//左右针间距
m_needlesSpace = head->HStep;//针与针之间间距
m_needleLayoutSpace12 = head->VStep12;//针排间距
m_needleLayoutSpace23 = head->VStep23;//针排间距
memcpy((char*)m_arrayNeedle1,(char*)head->arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)m_arrayNeedle2,(char*)head->arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)m_arrayNeedle3,(char*)head->arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
m_new12SpaceValue = m_needleLayoutSpace12;
m_new23SpaceValue = m_needleLayoutSpace23;
m_newLRSpaceValue = m_leftRightNeedleSpace;
m_newNSpaceValue = m_needlesSpace;
}
else if(ext == "QUIX")
{
DataFileQuix quix;
quix.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
QuixFileHead *head = quix.getQuixHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = head->leftRightLen;//左右针间距
m_needlesSpace = head->HStep;//针与针之间间距
m_needleLayoutSpace12 = head->VStep12;//针排间距
m_needleLayoutSpace23 = head->VStep23;//针排间距
memcpy((char*)m_arrayNeedle1,(char*)head->arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)m_arrayNeedle2,(char*)head->arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)m_arrayNeedle3,(char*)head->arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
m_new12SpaceValue = m_needleLayoutSpace12;
m_new23SpaceValue = m_needleLayoutSpace23;
m_newLRSpaceValue = m_leftRightNeedleSpace;
m_newNSpaceValue = m_needlesSpace;
}
else if(ext == "DSR")
{
DataFileDsr dsr;
dsr.initFile(m_filePath);
//将花样参数配置写回到源文件中,需放在转换中间数据之前,因为中间数据需要根据文件头参数进行数据变换
DsrHead *head = dsr.getDsrHead();
if(head == NULL){return;}
m_leftRightNeedleSpace = head->leftRightLen;//左右针间距
m_needlesSpace = head->HStep;//针与针之间间距
m_needleLayoutSpace12 = head->VStep12;//针排间距
m_needleLayoutSpace23 = head->VStep23;//针排间距
memcpy((char*)m_arrayNeedle1,(char*)head->arrayNeedle1,sizeof(m_arrayNeedle1));
memcpy((char*)m_arrayNeedle2,(char*)head->arrayNeedle2,sizeof(m_arrayNeedle2));
memcpy((char*)m_arrayNeedle3,(char*)head->arrayNeedle3,sizeof(m_arrayNeedle3));
ui->pushButtonLRSpace->setText(QString::number(m_leftRightNeedleSpace/100));
ui->pushButtonNSpace->setText(QString::number(m_needlesSpace/100));
ui->pushButton12Space->setText(QString::number(m_needleLayoutSpace12/100));
ui->pushButton23Space->setText(QString::number(m_needleLayoutSpace23/100));
m_new12SpaceValue = m_needleLayoutSpace12;
m_new23SpaceValue = m_needleLayoutSpace23;
m_newLRSpaceValue = m_leftRightNeedleSpace;
m_newNSpaceValue = m_needlesSpace;
}
refreshNeedleText();
m_pCurEmbData->setViewInfo(ui->labelImage->width(),ui->labelImage->height());
m_pCurEmbData->clear();
m_pCurEmbData->setAbsDat(absAry);
m_pCurEmbData->m_editedflag = 1;
QByteArray ary = m_pCurEmbData->getDsDat();
if(ary.size() > 0)
{
m_pCurEmbData->getOneDispDat(ary);
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_newLRSpaceValue,m_newNSpaceValue,m_new12SpaceValue,m_new23SpaceValue,0);
m_pCurEmbData->createDispFromEmbDs16DatForFlyShuttle();
m_pCurEmbData->setDispMode(EmbData::DISP_ALL_NORMAL,1); // 重新画灰图
QPixmap patternPix = m_pCurEmbData->getPreviewImage();
ui->labelImage->setPixmap(patternPix);
}
QWidget::show();
}
void PatternNeedleLayoutWidget::showTempView(QByteArray &dat)
{
ui->buttonOk->setDisabled(true);
// memset(m_arrayNeedle1,NEEDLENOTSET,sizeof(m_arrayNeedle1));
// memset(m_arrayNeedle2,NEEDLENOTSET,sizeof(m_arrayNeedle2));
// memset(m_arrayNeedle3,NEEDLENOTSET,sizeof(m_arrayNeedle3));
refreshNeedleText();
m_pCurEmbData->setViewInfo(ui->labelImage->width(),ui->labelImage->height());
m_pCurEmbData->clear();
m_pCurEmbData->setAbsDat(dat);
m_pCurEmbData->m_editedflag = 1;
QByteArray ary = m_pCurEmbData->getDsDat();
if(ary.size() > 0)
{
m_pCurEmbData->getOneDispDat(ary);
m_pCurEmbData->resetLayoutDispDat(m_arrayNeedle1,m_arrayNeedle2,m_arrayNeedle3,m_leftRightNeedleSpace,m_needlesSpace,m_needleLayoutSpace12,m_needleLayoutSpace23,0);
m_pCurEmbData->createDispFromEmbDs16DatForFlyShuttle();
m_pCurEmbData->setDispMode(EmbData::DISP_ALL_NORMAL,1); // 重新画灰图
QPixmap patternPix = m_pCurEmbData->getPreviewImage();
ui->labelImage->setPixmap(patternPix);
}
QWidget::show();
}
void PatternNeedleLayoutWidget::on_buttonClear_clicked()
{
memset(m_arrayNeedle1,NEEDLENOTSET,sizeof(m_arrayNeedle1));
memset(m_arrayNeedle2,NEEDLENOTSET,sizeof(m_arrayNeedle2));
memset(m_arrayNeedle3,NEEDLENOTSET,sizeof(m_arrayNeedle3));
refreshNeedleText();
refreshView(0);
}
void PatternNeedleLayoutWidget::on_pushButtonLRSpace_clicked()
{
int rslt=0;
m_newLRSpaceValue= ui->pushButtonLRSpace->text().toDouble()*100;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(ui->labelLRSpace->text());
ndlg.setUnitStr("mm");
ndlg.setValueAndRange(m_newLRSpaceValue, 0, 999999999, 2);
rslt = ndlg.exec();
if (rslt == 1)//点了确认按钮
{
s32 val = ndlg.getValue();
if (val != m_newLRSpaceValue)//更改后的值不等于之前存的值
{
m_newLRSpaceValue = val;
}
}
ui->pushButtonLRSpace->setText(QString::number(m_newLRSpaceValue/100));
refreshView(0);
}
void PatternNeedleLayoutWidget::on_pushButtonNSpace_clicked()
{
int rslt=0;
m_newNSpaceValue=ui->pushButtonNSpace->text().toDouble()*100;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(ui->labelNSpace->text());
ndlg.setUnitStr("mm");
ndlg.setValueAndRange(m_newNSpaceValue, 0, 999999999, 2);
rslt = ndlg.exec();
if (rslt == 1)//点了确认按钮
{
s32 val = ndlg.getValue();
if (val != m_newNSpaceValue)//更改后的值不等于之前存的值
{
m_newNSpaceValue = val;
}
}
ui->pushButtonNSpace->setText(QString::number(m_newNSpaceValue/100));
refreshView(0);
}
void PatternNeedleLayoutWidget::on_pushButton12Space_clicked()
{
int rslt=0;
m_new12SpaceValue=ui->pushButton12Space->text().toDouble()*100;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(ui->label12Space->text());
ndlg.setUnitStr("mm");
ndlg.setValueAndRange(m_new12SpaceValue, 0, 999999999, 2);
rslt = ndlg.exec();
if (rslt == 1)//点了确认按钮
{
s32 val = ndlg.getValue();
if (val != m_new12SpaceValue)//更改后的值不等于之前存的值
{
m_new12SpaceValue = val;
}
}
ui->pushButton12Space->setText(QString::number(m_new12SpaceValue/100));
refreshView(0);
}
void PatternNeedleLayoutWidget::on_pushButton23Space_clicked()
{
int rslt=0;
m_new23SpaceValue=ui->pushButton23Space->text().toDouble()*100;
NumerInputDialog ndlg(this);
ndlg.setTitleStr(ui->label23Space->text());
ndlg.setUnitStr("mm");
ndlg.setValueAndRange(m_new23SpaceValue, 0, 999999999, 2);
rslt = ndlg.exec();
if (rslt == 1)//点了确认按钮
{
s32 val = ndlg.getValue();
if (val != m_new23SpaceValue)//更改后的值不等于之前存的值
{
m_new23SpaceValue = val;
}
}
ui->pushButton23Space->setText(QString::number(m_new23SpaceValue/100));
refreshView(0);
}