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

191 lines
7.9 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 "knifegapparadialog.h"
#include "ui_knifegapparadialog.h"
KnifeGapParaDialog::KnifeGapParaDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::KnifeGapParaDialog),m_column(25),m_row(20)
{
ui->setupUi(this);
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
setWindowModality(Qt::ApplicationModal);
m_pModel = new QStandardItemModel(m_row, m_column, this);
memset(&m_knifeGapData, 0x00, sizeof(KnifeGapPara));
initWidget();
initControl();
}
KnifeGapParaDialog::~KnifeGapParaDialog()
{
delete ui;
}
void KnifeGapParaDialog::initWidget()
{
}
void KnifeGapParaDialog::initControl()
{
//根据不同分辨率设置控件的位置和尺寸
initResolution();
initControlStyle();//初始化窗体控件样式
}
void KnifeGapParaDialog::initResolution()
{
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->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->frameBack->setGeometry(0*factoryX,0*factoryY,GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
ui->labelPageNum->setGeometry(GLB_EDGE_WIGHT*factoryX,(GLB_SCR_HEIGHT-GLB_TEXT_HEIGHT-GLB_EDGE_WIGHT)*factoryY,(GLB_SCR_WIGHT-GLB_EDGE_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->buttonPgUp->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->buttonPgDn->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->frameSheet->setGeometry(10 *factoryX,100*factoryY,1000*factoryX,425*factoryY);
ui->tableView->setGeometry(0,0,ui->frameSheet->width(),ui->frameSheet->height());
//label样式
ui->labelMainTitle->setFont(fontSize_L());
ui->labelMainTitle->setStyleSheet(titleTextColour());
ui->labelSubTitle->setFont(fontSize_M());
ui->labelSubTitle->setStyleSheet(noteTextColour());
ui->labelPageNum->setFont(fontSize_M());
ui->labelPageNum->setStyleSheet(titleTextColour());
}
void KnifeGapParaDialog::initControlStyle()
{
SetStyle setControlStyle;
setControlStyle.setUiName(this->objectName());
ui->labelPageNum->setText(tr("PageNum: 0/0"));//页数: 0/0
ui->frameBack->setStyleSheet(transparentStyle());
QString str = setControlStyle.getStyleSheet(this->objectName());
ui->frameBack->setStyleSheet(str);
//四个按钮样式表一样
ui->buttonPgUp->setStyleSheet(confirmIconStyle());
ui->buttonPgUp->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonPgUp->objectName()));
ui->buttonPgDn->setStyleSheet(confirmIconStyle());
ui->buttonPgDn->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonPgDn->objectName()));
ui->buttonCancel->setStyleSheet(confirmIconStyle());
ui->buttonOk->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->buttonPgUp->setVisible(false);
ui->buttonPgDn->setVisible(false);
ui->buttonOk->setVisible(false);
// 设置视图的属性
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); //触发器 点击无事件
ui->tableView->setAlternatingRowColors(true); //交替颜色
// ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
// ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
// 设置QTableView的边框、网格线颜色和选择行的颜色
ui->tableView->setStyleSheet("QTableView {"
"border: 1px solid #444444;" // 设置边框颜色和宽度
"gridline-color: #444444;" // 设置网格线颜色
"}"
"QTableView::item:selected {"
"background-color: #888888;" // 设置选择项的背景色
"color: #ffffff;" // 设置选择项的文字颜色
"}"
"QHeaderView::section {"
"background-color: #555555;" // 设置表头的背景色
"color: #ffffff;" // 设置表头的文字颜色
"padding: 4px;" // 设置表头内边距
"border: 1px solid #444444;" // 设置表头边框颜色和宽度
"}"
"QScrollBar:vertical {"
"width: 15px;" // 设置垂直滚动条宽度
"}");
// 填充模型
for(int row = 0; row < m_row; row++) {
for(int column = 0; column < m_column; column++) {
QModelIndex index = m_pModel->index(row, column);
m_pModel->itemFromIndex(index)->setTextAlignment(Qt::AlignCenter);//居中显示
m_pModel->setData(index, QVariant(m_knifeGapData.GapArray[row][column]));
}
}
ui->tableView->setModel(m_pModel);
}
void KnifeGapParaDialog::setTypeLogo(QString tStyle)
{
ui->buttonTypeLogo->setUnPreBtnLogo(tStyle);
}
void KnifeGapParaDialog::setMainTitle(QString str)
{
ui->labelMainTitle->setText(str);
}
void KnifeGapParaDialog::setSubTitle(QString str)
{
ui->labelSubTitle->setText(str);
}
void KnifeGapParaDialog::recvData(int type, int id)
{
//点了主板的按钮后现在这个g_pMachine就是对应主板的
if (type != DCMD_SEND_MOTO_GAINPARA)
return;
if (id != 0)
return;
//得到当前主板的参数
KnifeGapPara para = g_pMachine->getGainPara();
memcpy(&m_knifeGapData, &para, sizeof(KnifeGapPara));
m_row = m_knifeGapData.cellx;
m_column = m_knifeGapData.celly;
m_pModel->setRowCount(m_row);
m_pModel->setColumnCount(m_column);
for(int row = 0; row < m_row; row++)
{
for(int column = 0; column < m_column; column++)
{
QModelIndex index = m_pModel->index(row, column);
m_pModel->setData(index, QVariant(m_knifeGapData.GapArray[row][column]));
}
}
}
void KnifeGapParaDialog::on_buttonCancel_clicked()
{
done(0);
}