V6.7.5_beta
This commit is contained in:
+99
-199
@@ -2,7 +2,6 @@
|
||||
#include <QDebug>
|
||||
#include <QIcon>
|
||||
#include <QFile>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <unistd.h>
|
||||
#include <QMessageBox>
|
||||
@@ -45,14 +44,7 @@ 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)));
|
||||
|
||||
m_CreateImageFlag = false;
|
||||
m_pSavePicScene = new QGraphicsScene();
|
||||
m_pSavePicScene->setSceneRect(QRectF(0, 0, 3200, MAX_PRINT_ROW_NUM)); //生成图片的场景
|
||||
// connect(dialogSaveFile,SIGNAL(returnMainWidget(int)),this,SIGNAL(sendButtonClickedSignal(int)));
|
||||
|
||||
editMode = SCENE;
|
||||
|
||||
@@ -99,8 +91,13 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
|
||||
connect(ui.btnSave, &QPushButton::clicked, this, &TestPrintWidget::on_saveButton_pressed);
|
||||
|
||||
connect(ui.btnListConfig, &QPushButton::clicked, [this]() {
|
||||
|
||||
if(m_printSetting) {
|
||||
m_printSetting->setModel(m_printSettingModel);
|
||||
}
|
||||
|
||||
emit sendButtonClickedSignal(9);
|
||||
});
|
||||
});
|
||||
|
||||
connect(ui.btnItemConfig, &QPushButton::clicked, this, &TestPrintWidget::onBtnItemConfigClicked);
|
||||
|
||||
@@ -158,12 +155,23 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
|
||||
vm.counterType = COUNTER_TYPE_1;
|
||||
vm.digitalNum = 2;
|
||||
vm.letterSpace = ls;
|
||||
vm.cnt1Settings = m_printSettingModel.cnt1Settings;
|
||||
vm.cnt2Settings = m_printSettingModel.cnt2Settings;
|
||||
emit sig_showEditCounter(vm);
|
||||
});
|
||||
|
||||
connect(ui.btnBarcode, &QPushButton::clicked, [this](){
|
||||
pPicScene->clearSelection();
|
||||
showBarcodeEditor();
|
||||
BarcodeViewModel vm;
|
||||
vm.generalSettingsVM = TextItemModel();
|
||||
vm.contentPattern = "";
|
||||
vm.counterViewModel = CounterViewModel();
|
||||
vm.dateViewModel = DateItemModel::createDefaultReplaceModel();
|
||||
vm.type = BARCODE_TYPE_BARCODE;
|
||||
vm.format.setValue(DlgBarcodeFormatVM());
|
||||
vm.counterViewModel.cnt1Settings = m_printSettingModel.cnt1Settings;
|
||||
vm.counterViewModel.cnt2Settings = m_printSettingModel.cnt2Settings;
|
||||
showBarcodeEditor(vm);
|
||||
});
|
||||
|
||||
// X,Y label connection
|
||||
@@ -177,13 +185,15 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
|
||||
QMessageBox::Ok | QMessageBox::Cancel);
|
||||
|
||||
if (ret == QMessageBox::Ok){
|
||||
disconnect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),0,0);
|
||||
connect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),this,SLOT(onSaveASFile(QString,bool)), Qt::DirectConnection);
|
||||
dialogSaveFile->saveLastWork();
|
||||
emit sig_updatePrintContent();
|
||||
} else {
|
||||
dialogFileOperation->openLastWork();
|
||||
if(xmlfileName.isEmpty()) {
|
||||
on_saveButton_pressed();
|
||||
} else {
|
||||
saveFile();
|
||||
}
|
||||
|
||||
emit sig_updatePrintContent(xmlfileName);
|
||||
}
|
||||
|
||||
emit sendButtonClickedSignal(20);
|
||||
});
|
||||
|
||||
@@ -197,7 +207,6 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
|
||||
connect(&m_barcodeEditor, &BarcodeEditor::accepted, this, &TestPrintWidget::slt_BarCodeItemDone);
|
||||
|
||||
m_LineEdit->setProperty("Enter replace enter", true);
|
||||
connect(m_LineEdit, &QLineEdit::returnPressed, this, &TestPrintWidget::onLineEditReturnPressed);
|
||||
|
||||
m_LineEdit->installEventFilter(this);
|
||||
|
||||
@@ -208,20 +217,12 @@ TestPrintWidget::TestPrintWidget(QWidget* parent)
|
||||
void TestPrintWidget::bindSysPara(SysPara *sysPara)
|
||||
{
|
||||
this->sysPara = sysPara;
|
||||
|
||||
// 它需要这个
|
||||
m_barcodeEditor.bindSysPara(sysPara);
|
||||
}
|
||||
|
||||
TestPrintWidget::~TestPrintWidget()
|
||||
{
|
||||
m_LineEdit->removeEventFilter(this);
|
||||
|
||||
if(m_pSavePicScene)
|
||||
{
|
||||
delete m_pSavePicScene;
|
||||
m_pSavePicScene = nullptr;
|
||||
}
|
||||
if(m_TextEdit){
|
||||
delete m_TextEdit;
|
||||
m_TextEdit = nullptr;
|
||||
@@ -234,30 +235,6 @@ TestPrintWidget::~TestPrintWidget()
|
||||
|
||||
}
|
||||
|
||||
void TestPrintWidget::loadLastWork()
|
||||
{
|
||||
if (dialogFileOperation) {
|
||||
dialogFileOperation->openLastWork();
|
||||
}
|
||||
}
|
||||
|
||||
QPixmap TestPrintWidget::loadIcon(const QString& iconName, const QSize& size)
|
||||
{
|
||||
QString iconPath = QString(":/icons/res/icons/%1.png").arg(iconName);
|
||||
QPixmap pixmap(iconPath);
|
||||
return pixmap.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||
}
|
||||
|
||||
void TestPrintWidget::on_openfileButton_pressed()
|
||||
{
|
||||
pPicScene->clearSelection();
|
||||
pPicScene->clearFocus();
|
||||
if (dialogFileOperation) {
|
||||
dialogFileOperation->refreshListView(editMode);
|
||||
dialogFileOperation->exec();
|
||||
}
|
||||
}
|
||||
|
||||
void TestPrintWidget::addDateItem()
|
||||
{
|
||||
pPicScene->clearSelection();
|
||||
@@ -289,7 +266,6 @@ void TestPrintWidget::on_enlargeButton_pressed()
|
||||
|
||||
void TestPrintWidget::on_addButton_pressed(const SourceType type)
|
||||
{
|
||||
addItemFlag = false;
|
||||
m_LineEdit->setEnabled(true);
|
||||
m_LineEdit->setText("");
|
||||
pPicScene->clearSelection();
|
||||
@@ -308,8 +284,6 @@ void TestPrintWidget::on_addButton_pressed(const SourceType type)
|
||||
// ui->saveButton->setEnabled(true);
|
||||
textItem->setPlainText("");
|
||||
textItem->setSelected(true);
|
||||
|
||||
addItemFlag = true;
|
||||
}
|
||||
|
||||
void TestPrintWidget::onEditItemDone()
|
||||
@@ -395,137 +369,71 @@ void TestPrintWidget::getShowSelectItemText()
|
||||
void TestPrintWidget::on_saveButton_pressed()
|
||||
{
|
||||
pPicScene->clearSelection();
|
||||
if(xmlfileName.isEmpty() || xmlfileName.contains("LastWork.xml"))
|
||||
if(xmlfileName.isEmpty())
|
||||
{
|
||||
qDebug()<<"xml file null";
|
||||
#ifdef MYSAVEFILEDLG
|
||||
disconnect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),0,0);
|
||||
connect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),this,SLOT(onSaveASFile(QString,bool)), Qt::DirectConnection);
|
||||
dialogSaveFile->refreshListView(editMode);
|
||||
dialogSaveFile->show();
|
||||
dialogSaveFile->refreshListView(SCENE);
|
||||
dialogSaveFile->setEnterFileName("");
|
||||
auto ret = dialogSaveFile->exec();
|
||||
|
||||
if(ret == QDialog::Accepted) {
|
||||
auto filename = dialogSaveFile->filename();
|
||||
if(!filename.endsWith(".xml",Qt::CaseInsensitive))
|
||||
filename += ".xml";
|
||||
|
||||
saveFile(filename);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
pPicScene->update();
|
||||
saveFile();
|
||||
if(sysPara){
|
||||
sysPara->sysFile =xmlfileName;
|
||||
snprintf(sysPara->para.lastOpenedFileName,sizeof(sysPara->para.lastOpenedFileName),"%s",xmlfileName.toLatin1().constData());
|
||||
}
|
||||
//snprintf(sysPara->para.lastOpenedFileName,sizeof(sysPara->para.lastOpenedFileName),"%s",xmlfileName.toLatin1().constData());
|
||||
// ui->saveButton->setEnabled(false);
|
||||
// emit fileNameChanged(QFileInfo(xmlfileName).fileName());
|
||||
}
|
||||
}
|
||||
|
||||
void TestPrintWidget::saveFile()
|
||||
void TestPrintWidget::saveFile(const QString& filename)
|
||||
{
|
||||
if (m_printSetting) {
|
||||
auto model = m_printSetting->model();
|
||||
PicSceneLoader::saveSceneToXmlFile(xmlfileName, pPicScene, &model);
|
||||
} else {
|
||||
PicSceneLoader::saveSceneToXmlFile(xmlfileName, pPicScene, nullptr);
|
||||
}
|
||||
auto fn = filename.isEmpty() ? xmlfileName : filename;
|
||||
PicSceneLoader::saveSceneToXmlFile(fn, pPicScene, &m_printSettingModel);
|
||||
}
|
||||
|
||||
void TestPrintWidget::onSaveASFile(QString filename,bool Flag){// use for dialogSaveFile class
|
||||
void TestPrintWidget::onSaveASFile(QString filename,bool Flag)
|
||||
{// use for dialogSaveFile class
|
||||
qDebug()<<filename;
|
||||
xmlfileName = filename;
|
||||
if(!filename.endsWith(".xml",Qt::CaseInsensitive))
|
||||
xmlfileName += ".xml";
|
||||
|
||||
saveFile();
|
||||
if(sysPara){
|
||||
sysPara->sysFile = xmlfileName;
|
||||
snprintf(sysPara->para.lastOpenedFileName,sizeof(sysPara->para.lastOpenedFileName),"%s",xmlfileName.toLatin1().constData());
|
||||
}
|
||||
//snprintf(sysPara->para.lastOpenedFileName,sizeof(sysPara->para.lastOpenedFileName),"%s",xmlfileName.toLatin1().constData());
|
||||
// ui->saveButton->setEnabled(false);
|
||||
// emit fileNameChanged(QFileInfo(xmlfileName).fileName());
|
||||
}
|
||||
|
||||
/*
|
||||
* 和DialogFileOperation对接
|
||||
* */
|
||||
void TestPrintWidget::onFileOpen(QString filePath,bool reviewFlag){
|
||||
void TestPrintWidget::openWorkFile(QString filePath){
|
||||
|
||||
if(editMode != SCENE || !filePath.endsWith(".xml")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(reviewFlag) {
|
||||
xmlfileName = filePath;
|
||||
}
|
||||
|
||||
pViewer->viewport()->update();
|
||||
unsigned char SpecialVarEnable = 0;
|
||||
if (sysPara) {
|
||||
sysPara->devOp->fpgaWr(0xa4b0,(unsigned char *)&SpecialVarEnable,1);
|
||||
}
|
||||
|
||||
PrintSettingModel loadedPrintSetting;
|
||||
bool ok = PicSceneLoader::loadSceneFromFile(filePath,
|
||||
pPicScene,
|
||||
reviewFlag ? &loadedPrintSetting : nullptr);
|
||||
bool ok = PicSceneLoader::loadSceneFromFile(filePath, pPicScene, &m_printSettingModel);
|
||||
if(!ok) {
|
||||
qWarning() << "Failed to load file:" << filePath;
|
||||
return;
|
||||
}
|
||||
|
||||
if(reviewFlag && m_printSetting) {
|
||||
m_printSetting->setModel(loadedPrintSetting);
|
||||
m_printSetting->applyPrintSettingsToSysPara(false);
|
||||
xmlfileName = filePath;
|
||||
|
||||
if(m_printSetting) {
|
||||
m_printSetting->setModel(m_printSettingModel);
|
||||
}
|
||||
|
||||
if(sysPara)
|
||||
{
|
||||
sysPara->sysFile = filePath;
|
||||
sysPara->loadParaFromFile();
|
||||
snprintf(sysPara->para.lastOpenedFileName,sizeof(sysPara->para.lastOpenedFileName),"%s",filePath.toLatin1().constData());
|
||||
}
|
||||
|
||||
// 主动暂停打印
|
||||
if(reviewFlag) {
|
||||
emit sig_stopPrint();
|
||||
|
||||
// xmlfileName 会被 saveLastWork 更改,因此此处暂存变量, 在执行后恢复
|
||||
qDebug() << "xmlfileName:" << xmlfileName;
|
||||
auto filename = xmlfileName;
|
||||
disconnect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),0,0);
|
||||
connect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),this,SLOT(onSaveASFile(QString,bool)), Qt::DirectConnection);
|
||||
dialogSaveFile->saveLastWork();
|
||||
xmlfileName = filename;
|
||||
disconnect(dialogSaveFile,SIGNAL(saveFile(QString,bool)),0,0);
|
||||
}
|
||||
|
||||
emit sendButtonClickedSignal(20); //打开文件完成跳转到主窗口
|
||||
}
|
||||
|
||||
void TestPrintWidget::addCodeItem(QString str)
|
||||
{
|
||||
addItemFlag = false;
|
||||
m_LineEdit->setEnabled(true);
|
||||
m_LineEdit->setText("");
|
||||
pPicScene->clearSelection();
|
||||
codeItem_Operation = new PicCodeItem(0, 0, SourceType::CODE);
|
||||
codeItem_Operation->setSource(str);
|
||||
pPicScene->addItem(codeItem_Operation);
|
||||
|
||||
QList<QGraphicsItem *> items = pPicScene->items();
|
||||
if(pPicScene->items().count()>1){
|
||||
QRectF itemRect= items.at(1)->boundingRect();
|
||||
codeItem_Operation->setPos( items.at(1)->scenePos().x()+itemRect.width()+20, items.at(1)->scenePos().y());
|
||||
}
|
||||
else
|
||||
codeItem_Operation->setPos(this->pViewer->mapToScene(0,0));//edit@12-07
|
||||
|
||||
codeItem_Operation->setPlainText("");
|
||||
codeItem_Operation->setSelected(true);
|
||||
|
||||
addItemFlag = true;
|
||||
|
||||
qDebug() << "xmlfileName:" << xmlfileName;
|
||||
}
|
||||
|
||||
int TestPrintWidget::checkSelectScene()
|
||||
@@ -713,26 +621,14 @@ void TestPrintWidget::setPrintSettingWidget(PrintSetting *wid)
|
||||
|
||||
m_printSetting = wid;
|
||||
connect(m_printSetting, &PrintSetting::sendButtonClickedSignal, this, [this](int i) {
|
||||
if(i == 2) {
|
||||
saveFile();
|
||||
LogInfo::setRunStatusText("Save print setting.");
|
||||
if(i == 2 && !m_printSetting->isDefaultSettingMode()) {
|
||||
m_printSettingModel = m_printSetting->model();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
bool TestPrintWidget::eventFilter(QObject *watched, QEvent *event) {
|
||||
// 只处理 graphicsView 的事件
|
||||
if (watched == ui.graphicsView) {
|
||||
// 处理鼠标点击事件
|
||||
if (event->type() == QEvent::MouseButtonPress) {
|
||||
|
||||
std::cout<<"MouseButtonPress"<<std::endl;
|
||||
// 返回 true 表示事件已处理,不再传递
|
||||
// 返回 false 表示继续传递事件
|
||||
return false; // 通常让事件继续传递,以便Item也能收到事件
|
||||
}
|
||||
}
|
||||
|
||||
bool TestPrintWidget::eventFilter(QObject *watched, QEvent *event)
|
||||
{
|
||||
if(watched == m_LineEdit) {
|
||||
if(event->type() == QEvent::FocusOut) {
|
||||
onEditItemDone();
|
||||
@@ -807,6 +703,8 @@ void TestPrintWidget::onBtnItemConfigClicked()
|
||||
vm.letterSpace = counterItem->letterSpace();
|
||||
vm.enbCustomCharWidth = false;
|
||||
vm.charWidth = counterItem->charWidth();
|
||||
vm.cnt1Settings = m_printSettingModel.cnt1Settings;
|
||||
vm.cnt2Settings = m_printSettingModel.cnt2Settings;
|
||||
emit sig_showEditCounter(vm);
|
||||
}
|
||||
return;
|
||||
@@ -843,8 +741,10 @@ void TestPrintWidget::onBtnItemConfigClicked()
|
||||
if(!codeItem)
|
||||
return;
|
||||
|
||||
m_barcodeEditor.bindViewModel(codeItem->barcodeViewModel());
|
||||
showBarcodeEditor(false);
|
||||
auto vm = codeItem->barcodeViewModel();
|
||||
vm.counterViewModel.cnt1Settings = m_printSettingModel.cnt1Settings;
|
||||
vm.counterViewModel.cnt2Settings = m_printSettingModel.cnt2Settings;
|
||||
showBarcodeEditor(vm);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -884,46 +784,51 @@ void TestPrintWidget::on_newfileButton_pressed()
|
||||
xmlfileName = "";
|
||||
|
||||
if (sysPara) {
|
||||
PrintSettingModel defModel = PrintSettingModel::defPrintSettingModel();
|
||||
PrintSettingModel::applyToSysPara(defModel, sysPara);
|
||||
m_printSettingModel = PrintSettingModel::defPrintSettingModel();
|
||||
if(m_printSetting)
|
||||
m_printSetting->setModel(defModel);
|
||||
m_printSetting->setModel(m_printSettingModel);
|
||||
}
|
||||
|
||||
sendButtonClickedSignal(21); //新建文件完成
|
||||
emit sig_currentFileChanged();
|
||||
}
|
||||
|
||||
void TestPrintWidget::slt_BarCodeItemDone()
|
||||
{
|
||||
auto vm = m_barcodeEditor.viewModel();
|
||||
|
||||
// 如果当前选中了一个条形码或二维码,则更新其内容,然后直接返回
|
||||
bool flag = false;
|
||||
auto selectedItem = pPicScene->selectedItems();
|
||||
for(auto item : selectedItem) {
|
||||
auto codeItem = dynamic_cast<PicCodeItem*>(item);
|
||||
if(codeItem) {
|
||||
codeItem->setBarcodeViewModel(vm);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(flag)
|
||||
return;
|
||||
|
||||
if(vm.contentPattern.isEmpty()) {
|
||||
qInfo() << "Empty content pattern, the barcode will not be generated.";
|
||||
return;
|
||||
}
|
||||
|
||||
// 添加条形码或验证码
|
||||
pPicScene->clearSelection();
|
||||
PicCodeItem* item = new PicCodeItem(0, 0, SourceType::CODE);
|
||||
item->setBarcodeViewModel(vm);
|
||||
auto boundingRect = pPicScene->itemsBoundingRect();
|
||||
pPicScene->addItem(item);
|
||||
item->setPos(boundingRect.right(), 0.0);
|
||||
item->setSelected(true);
|
||||
PicCodeItem* codeItem = nullptr;
|
||||
|
||||
// 如果当前选中了一个条形码或二维码,则更新其内容,然后直接返回
|
||||
bool flag = false;
|
||||
auto selectedItem = pPicScene->selectedItems();
|
||||
for(auto item : selectedItem) {
|
||||
codeItem = dynamic_cast<PicCodeItem*>(item);
|
||||
if(codeItem)
|
||||
break;
|
||||
}
|
||||
|
||||
if(!codeItem) {
|
||||
// 添加条形码或二维码
|
||||
pPicScene->clearSelection();
|
||||
codeItem = new PicCodeItem(0, 0, SourceType::CODE);
|
||||
auto boundingRect = pPicScene->itemsBoundingRect();
|
||||
pPicScene->addItem(codeItem);
|
||||
codeItem->setPos(boundingRect.right(), 0.0);
|
||||
}
|
||||
|
||||
codeItem->setBarcodeViewModel(vm);
|
||||
codeItem->setSelected(true);
|
||||
|
||||
m_printSettingModel.cnt1Settings = vm.counterViewModel.cnt1Settings;
|
||||
m_printSettingModel.cnt2Settings = vm.counterViewModel.cnt2Settings;
|
||||
|
||||
if(m_printSetting)
|
||||
m_printSetting->setModel(m_printSettingModel);
|
||||
}
|
||||
|
||||
QGraphicsItem* findClosestItemToViewCenter(QGraphicsView* view)
|
||||
@@ -1017,16 +922,6 @@ void TestPrintWidget::selectPreviousItem()
|
||||
selectItemByDirection(false);
|
||||
}
|
||||
|
||||
void TestPrintWidget::onLineEditReturnPressed()
|
||||
{
|
||||
if(pPicScene->selectedItems().size() != 0) {
|
||||
qDebug() << "Change current item text";
|
||||
}
|
||||
else {
|
||||
qDebug() << "Add new item text";
|
||||
}
|
||||
}
|
||||
|
||||
void TestPrintWidget::on_cbResolution_currentIndexChanged(int index)
|
||||
{
|
||||
constexpr char* IdxToFontFamily[] = {"WenQuanYi5",
|
||||
@@ -1147,6 +1042,9 @@ void TestPrintWidget::addCounterItem(CounterViewModel vm, QSharedPointer<QFont>
|
||||
if(vm.enbCustomCharWidth) {
|
||||
counterItem->setCharWidth(vm.charWidth);
|
||||
}
|
||||
|
||||
m_printSettingModel.cnt1Settings = vm.cnt1Settings;
|
||||
m_printSettingModel.cnt2Settings = vm.cnt2Settings;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1167,6 +1065,9 @@ void TestPrintWidget::addCounterItem(CounterViewModel vm, QSharedPointer<QFont>
|
||||
if(vm.enbCustomCharWidth) {
|
||||
item->setCharWidth(vm.charWidth);
|
||||
}
|
||||
|
||||
m_printSettingModel.cnt1Settings = vm.cnt1Settings;
|
||||
m_printSettingModel.cnt2Settings = vm.cnt2Settings;
|
||||
}
|
||||
|
||||
QString TestPrintWidget::currentFile()
|
||||
@@ -1174,14 +1075,13 @@ QString TestPrintWidget::currentFile()
|
||||
return xmlfileName;
|
||||
}
|
||||
|
||||
void TestPrintWidget::showBarcodeEditor(bool restoreViewModel)
|
||||
void TestPrintWidget::showBarcodeEditor(const BarcodeViewModel& vm)
|
||||
{
|
||||
#if defined(ARCH_AARCH64)
|
||||
m_barcodeEditor.setWindowState(Qt::WindowFullScreen);
|
||||
#endif
|
||||
if(restoreViewModel)
|
||||
m_barcodeEditor.restoreViewModel();
|
||||
|
||||
m_barcodeEditor.bindViewModel(vm);
|
||||
m_barcodeEditor.setWindowModality(Qt::WindowModal);
|
||||
m_barcodeEditor.show();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user