2026-07-02_14_31_VX5 韩国

This commit is contained in:
2026-07-02 14:32:38 +08:00
parent ea3c3fb234
commit 1074c98eb6
15 changed files with 764 additions and 198 deletions
+41 -14
View File
@@ -44,8 +44,11 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
// m_ButtonGroup->addButton(ui.btnList, 7);
dialogSaveFile =new DialogSaveFile(0);
connect(dialogSaveFile,SIGNAL(returnMainWidget(int)),this,SIGNAL(sendButtonClickedSignal(int)));
dialogFileOperation = new DialogFileOperation(0);
connect(dialogFileOperation,SIGNAL(openFile(QString,bool)),this,SLOT(onFileOpen(QString,bool)));
connect(dialogFileOperation,SIGNAL(createSceneImage(QString)),this,SLOT(onCreateSceneImage(QString)));
m_CreateImageFlag = false;
m_pSavePicScene = new QGraphicsScene();
@@ -81,11 +84,6 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
getShowSelectItemText();
});
connect(dialogSaveFile,SIGNAL(returnMainWidget(int)),this,SIGNAL(sendButtonClickedSignal(int)));
connect(dialogFileOperation,SIGNAL(openFile(QString,bool)),this,SLOT(onFileOpen(QString,bool)));
connect(dialogFileOperation,SIGNAL(createSceneImage(QString)),this,SLOT(onCreateSceneImage(QString)));
// ========== 连接所有信号槽 ==========
// 左侧工具栏按钮组
connect(m_ButtonGroup, QOverload<QAbstractButton*>::of(&QButtonGroup::buttonClicked),
@@ -214,12 +212,18 @@ TestPrintWidget::~TestPrintWidget()
if(m_pSavePicScene)
{
delete m_pSavePicScene;
m_pSavePicScene = nullptr;
}
if(m_TextEdit){
delete m_TextEdit;
m_TextEdit = nullptr;
}
if (imageLoader) {
delete imageLoader;
imageLoader = nullptr;
}
}
QPixmap TestPrintWidget::loadIcon(const QString& iconName, const QSize& size)
@@ -233,9 +237,11 @@ void TestPrintWidget::on_openfileButton_pressed()
{
pPicScene->clearSelection();
pPicScene->clearFocus();
if (dialogFileOperation) {
dialogFileOperation->refreshListView(editMode);
dialogFileOperation->exec();
}
}
void TestPrintWidget::addDateItem()
{
@@ -261,7 +267,9 @@ void TestPrintWidget::on_enlargeButton_pressed()
// pViewer->scale(scaleFactor, scaleFactor);
// TODO:: 保留,以后真的要用到放大缩小
((MyView*)pViewer)->ZoomOut();
// ((MyView*)pViewer)->ZoomOut();
auto myView = dynamic_cast<MyView*>(pViewer);
if (myView) myView->ZoomOut();
}
void TestPrintWidget::on_addButton_pressed(const SourceType type)
@@ -294,7 +302,9 @@ void TestPrintWidget::onEditItemDone()
const QString content = m_LineEdit->text();
foreach (QGraphicsItem *item, pPicScene->selectedItems())
{
PicTextItem *pTextItem = (PicTextItem *)item;
PicTextItem* pTextItem = dynamic_cast<PicTextItem*>(item);
if (pTextItem == nullptr) continue;
if(pTextItem->sourceType() == SourceType::TEXT)
pTextItem->setSource(content);
}
@@ -302,8 +312,6 @@ void TestPrintWidget::onEditItemDone()
void TestPrintWidget::getShowSelectItemText()
{
//Scene Test
ui.m_LineEdit->setEnabled(false);
ui.m_LineEdit->setText("");
@@ -314,6 +322,8 @@ void TestPrintWidget::getShowSelectItemText()
PicTextItem* lastSelectedTxtItem = nullptr;
for(auto item : selectedItems) {
PicTextItem* txtItem = dynamic_cast<PicTextItem*>(item);
if (txtItem == nullptr) continue;
if(txtItem->sourceType() != SourceType::IMAGE && txtItem->sourceType() != SourceType::CODE && txtItem->sourceType() != SourceType::UNKNOWN) {
lastSelectedTxtItem = txtItem;
}
@@ -401,6 +411,8 @@ void TestPrintWidget::saveFile(){
int index=0;
foreach (QGraphicsItem *item, items) {
PicTextItem *picText = qgraphicsitem_cast<PicTextItem*>(item);
if (picText == nullptr) continue;
writer.writeStartElement("VBfile"); // 开始子元素 <picscene>
writer.writeTextElement(QString::fromLocal8Bit("pointer_x"), QString::fromLocal8Bit("%1").arg(picText->pos().x()));
writer.writeTextElement(QString::fromLocal8Bit("pointer_y"), QString::fromLocal8Bit("%1").arg(picText->pos().y()));
@@ -431,9 +443,12 @@ void TestPrintWidget::saveFile(){
writer.writeEndElement(); // 结束子元素 </picscene>
}
if (m_printSetting) {
writer.writeEmptyElement("PrintSettings");
if(m_printSetting)
PrintSettingModel::saveToXml(m_printSetting->model(), writer);
}
writer.writeEndElement(); // 结束根元素 </picscenes>
writer.writeEndDocument(); // 结束文档
@@ -468,14 +483,17 @@ void TestPrintWidget::onFileOpen(QString filePath,bool reviewFlag){
QFile file(filePath);
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { // 以只写模式打开文件
xmlfileName=filePath;
if(reviewFlag)
xmlfileName=filePath;
QXmlStreamReader reader(&file);
if(!m_CreateImageFlag)
{
pPicScene->clear();
pViewer->viewport()->update();
unsigned char SpecialVarEnable = 0;
sysPara->devOp->fpgaWr(0xa4b0,(unsigned char *)&SpecialVarEnable,1);
if (sysPara) sysPara->devOp->fpgaWr(0xa4b0,(unsigned char *)&SpecialVarEnable,1);
}
// 解析 XML,直到结束
while (!reader.atEnd()) {
@@ -683,7 +701,7 @@ void TestPrintWidget::parseVbfile(QXmlStreamReader &reader, bool loadPrintSettin
// Condition= false ;
// CatchValue = -1;
//LogInfo::setRunStatusText(tr("接收文件解析::2"));
if(!sysPara->status.forTemplateUse || m_CreateImageFlag)
if(sysPara!=nullptr && !sysPara->status.forTemplateUse || m_CreateImageFlag)
{
pPictText->setHtml(strCDATA);
}
@@ -967,6 +985,7 @@ void TestPrintWidget::on_delButton_pressed()
foreach (QGraphicsItem *item, pPicScene->selectedItems()) {
pPicScene->removeItem(item);
delete item;
break;
}
}
@@ -1040,9 +1059,12 @@ void TestPrintWidget::onBtnItemConfigClicked()
return;
}
auto item = dynamic_cast<PicTextItem*>(selectedItems[0]);
PicTextItem* item = dynamic_cast<PicTextItem*>(selectedItems[0]);
if (item == nullptr) return;
if(item->sourceType() == SourceType::COUNTER) {
auto counterItem = dynamic_cast<PicCounterItem*>(item);
if (counterItem) {
CounterViewModel vm;
vm.counterType = counterItem->counterType();
vm.digitalNum = counterItem->digitalNum();
@@ -1050,6 +1072,7 @@ void TestPrintWidget::onBtnItemConfigClicked()
vm.enbCustomCharWidth = false;
vm.charWidth = counterItem->charWidth();
emit sig_showEditCounter(vm);
}
return;
}
@@ -1067,12 +1090,14 @@ void TestPrintWidget::onBtnItemConfigClicked()
if(item->sourceType() == SourceType::DATETIME) {
// @see TestPrintWidget::addDateTimeItem
auto dateTimeItem = dynamic_cast<PicDateItem*>(item);
if (dateTimeItem)
emit sig_showEditDateTime(dateTimeItem->model(), dateTimeItem->textItemModel());
return;
}
if(item->sourceType() == SourceType::SCHEDULE_SHIFT) {
auto scheduleItem = dynamic_cast<PicScheduleShiftItem*>(item);
if (scheduleItem)
emit sig_showScheduleShiftsEditor(scheduleItem->schedules(), scheduleItem->textItemModel());
return;
}
@@ -1097,6 +1122,8 @@ void TestPrintWidget::onBtnItemConfigClicked()
void TestPrintWidget::onItemEditorAccepted()
{
if(!itemEditor || !itemEditor->currentItem()) return;
if(itemEditor->currentItem()->source() == SourceType::UNKNOWN) {
// Nothing....
}
@@ -1448,4 +1475,4 @@ void TestPrintWidget::on_btn_copy_clicked()
void TestPrintWidget::on_btn_paste_clicked()
{
pasteCopiedLayer();
}
}