QuiltingHMI/sharedviews/setworkarea.cpp

191 lines
5.5 KiB
C++
Raw Permalink Normal View History

2024-02-06 07:10:48 +00:00
#include "setworkarea.h"
#include "ui_setworkarea.h"
SetWorkArea::SetWorkArea(QWidget *parent) :
QWidget(parent),
ui(new Ui::SetWorkArea)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::NonModal );//用以设置窗口模态类型 ,ApplicationModal阻塞整个应用程序的所有窗口
initWidget();
initControl();
}
SetWorkArea::~SetWorkArea()
{
delete ui;
}
void SetWorkArea::initWidget()
{
m_headValue= 0;
m_area = 2;
ui->frameWorkArea->show();
//蓝色
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;}";
//白色
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;}";
ui->buttonX1->setText(tr("X +"));
ui->buttonX2->setText(tr("X -"));
ui->buttonY1->setText(tr("Y +"));
ui->buttonY2->setText(tr("Y -"));
ui->buttonX1->setStyleSheet(buttonStyle1);//初始化默认都是白色,根据从主控上读上来的当前位置值,显示哪个是蓝色
ui->buttonX2->setStyleSheet(buttonStyle2);
ui->buttonY1->setStyleSheet(buttonStyle2);
ui->buttonY2->setStyleSheet(buttonStyle2);
}
void SetWorkArea::initControl()
{
//根据不同分辨率设置控件的位置和尺寸
switch (g_emResolut)
{
case resolution1910:
initResolution1910();
break;
case resolution1006:
initResolution1006();
break;
default:
this->resize(1920,1080);
break;
}
initControlStyle();//初始化窗体控件样式
}
void SetWorkArea::initResolution1910()
{
//上状态栏
this->resize(896,497);
this->move((1920-this->width())/2,(1080-this->height())/2);
ui->frameBack->setGeometry(0,0,946,564);
ui->labelTitle->setGeometry(40,2,754,56);
//设置可移动区域
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->buttonOk->setGeometry(522,400,174,70);
ui->buttonCancel->setGeometry(704,400,174,70);
}
void SetWorkArea::initResolution1006()
{
//上状态栏
this->resize(480,268);
this->move((1024-this->width())/2,(600-this->height())/2);
ui->frameBack->setGeometry(0,0,508,304);
ui->labelTitle->setGeometry(5,-10,400,56);
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->buttonOk->setGeometry(274,216,96,40);
ui->buttonCancel->setGeometry(380,216,96,40);
}
//初始化窗体控件样式
void SetWorkArea::initControlStyle()
{
SetControlStyle setControlStyle;
setControlStyle.setUiName(this->objectName());
//设置控件图标
//背景图
//ui->SetWorkArea->setStyleSheet(TRANSPARENTSTYLE);
// ui->frameWorkArea->setStyleSheet(TRANSPARENTSTYLE);
//ui->frameBack->setStyleSheet(TRANSPARENTSTYLE);
// this->setStyleSheet(LABELWHITESTYLE);
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->frameWorkArea->setStyleSheet(TRANSPARENTSTYLE);
ui->buttonX1->setFont(fontNormal_1);
ui->buttonX2->setFont(fontNormal_1);
ui->buttonY1->setFont(fontNormal_1);
ui->buttonY2->setFont(fontNormal_1);
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);
}
//设置标题
void SetWorkArea::setTitleStr(QString str)
{
ui->labelTitle->setText(str);
}
void SetWorkArea::show()
{
QWidget::show();
}
void SetWorkArea::setHead(int m_head)
{
m_headValue= m_head;
}
void SetWorkArea::on_buttonCancel_clicked()
{
this->hide();
}
void SetWorkArea::on_buttonOk_clicked()
{
if(g_pMachine != NULL)
{
g_pMachine->manualAction(SET_WORK_AREA,m_headValue,m_area);
}
//this->hide();
}
//X+
void SetWorkArea::on_buttonX1_clicked()
{
ui->buttonX1->setStyleSheet(buttonStyle1);
ui->buttonX2->setStyleSheet(buttonStyle2);
ui->buttonY1->setStyleSheet(buttonStyle2);
ui->buttonY2->setStyleSheet(buttonStyle2);
m_area = 2;
}
//Y+
void SetWorkArea::on_buttonY1_clicked()
{
ui->buttonX1->setStyleSheet(buttonStyle2);
ui->buttonX2->setStyleSheet(buttonStyle2);
ui->buttonY1->setStyleSheet(buttonStyle1);
ui->buttonY2->setStyleSheet(buttonStyle2);
m_area = 4;
}
//Y-
void SetWorkArea::on_buttonY2_clicked()
{
ui->buttonX1->setStyleSheet(buttonStyle2);
ui->buttonX2->setStyleSheet(buttonStyle2);
ui->buttonY1->setStyleSheet(buttonStyle2);
ui->buttonY2->setStyleSheet(buttonStyle1);
m_area = 3;
}
void SetWorkArea::on_buttonX2_clicked()
{
ui->buttonX1->setStyleSheet(buttonStyle2);
ui->buttonX2->setStyleSheet(buttonStyle1);
ui->buttonY1->setStyleSheet(buttonStyle2);
ui->buttonY2->setStyleSheet(buttonStyle2);
m_area =1;
}