解决配置文件生成工具bug,平场校正默认改为全校正

This commit is contained in:
yangjiaxuan 2024-07-03 10:52:54 +08:00
parent 8ffcffbddd
commit ffe045c9b2
7 changed files with 58 additions and 28 deletions

View File

@ -38,7 +38,8 @@ std::vector<AnalysisJson::json_node> AnalysisJson::GetNode()
obj[key].toObject()["man"].toBool(), obj[key].toObject()["man"].toBool(),
obj[key].toObject()["desc"].toString(), obj[key].toObject()["desc"].toString(),
obj[key].toObject()["station"].toString(), obj[key].toObject()["station"].toString(),
obj[key].toObject()["resolution"].toInt() obj[key].toObject()["resolution"].toInt(),
obj[key].toObject()["dynamic-correct-data"].toString()
}); });
} }
return nodes; return nodes;

View File

@ -15,6 +15,7 @@ public:
QString desc; QString desc;
QString station; QString station;
int resolution; int resolution;
QString correctData;
}; };
struct json_global struct json_global

View File

@ -52,13 +52,16 @@ void MainWindow::initDeviceInfo()
void MainWindow::initTableWidgetUi() void MainWindow::initTableWidgetUi()
{ {
ui->tableWidget->resizeRowsToContents(); ui->tableWidget->resizeRowsToContents();
ui->tableWidget->setColumnCount(6); ui->tableWidget->setColumnCount(8);
ui->tableWidget->horizontalHeader()->setDefaultSectionSize(200); ui->tableWidget->horizontalHeader()->setDefaultSectionSize(250);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->tableWidget->setColumnWidth(5, 200);
ui->tableWidget->setColumnWidth(6, 100);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
QStringList header; QStringList header;
header << tr("selected") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content"); header << tr("selected") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content") << tr("resolution") << tr("correct date");
ui->tableWidget->setHorizontalHeaderLabels(header); ui->tableWidget->setHorizontalHeaderLabels(header);
QFont font = ui->tableWidget->horizontalHeader()->font(); QFont font = ui->tableWidget->horizontalHeader()->font();
@ -130,10 +133,34 @@ bool MainWindow::loadDefaultItems(DeviceType deviceType)
ui->tableWidget->setItem(i, 5, new QTableWidgetItem(node.desc)); ui->tableWidget->setItem(i, 5, new QTableWidgetItem(node.desc));
ui->tableWidget->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
if (node.resolution > 0)
{
ui->tableWidget->setItem(i, 6, new QTableWidgetItem(QString::number(node.resolution)));
ui->tableWidget->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
}
else
{
ui->tableWidget->setItem(i, 6, new QTableWidgetItem(QString("")));
ui->tableWidget->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
}
node.correctData = node.correctData.trimmed().remove(QChar(0));
if (!node.correctData.isEmpty())
{
ui->tableWidget->setItem(i, 7, new QTableWidgetItem(node.correctData));
ui->tableWidget->item(i, 7)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
}
else
{
ui->tableWidget->setItem(i, 7, new QTableWidgetItem(QString("")));
ui->tableWidget->item(i, 7)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
}
QTableWidgetItem *item = ui->tableWidget->item(i, 2); QTableWidgetItem *item = ui->tableWidget->item(i, 2);
QVariant var = QVariant::fromValue(node.name); QVariant var = QVariant::fromValue(node.name);
item->setData(Qt::UserRole, var); item->setData(Qt::UserRole, var);
} }
ui->checkBox_selectAll->setChecked(false); ui->checkBox_selectAll->setChecked(false);
ui->checkBox_selectAll->setChecked(true); ui->checkBox_selectAll->setChecked(true);
ui->tableWidget->selectRow(0); ui->tableWidget->selectRow(0);
@ -349,10 +376,21 @@ void MainWindow::on_pushButton_generate_clicked()
QString name = ui->tableWidget->item(i, 2)->data(Qt::UserRole).value<QString>(); QString name = ui->tableWidget->item(i, 2)->data(Qt::UserRole).value<QString>();
testItemObject.insert("name", name); testItemObject.insert("name", name);
if (!ui->tableWidget->item(i, 6)->text().isEmpty())
{
testItemObject.insert("resolution", ui->tableWidget->item(i, 6)->text().toInt());
}
if (!ui->tableWidget->item(i, 7)->text().isEmpty())
{
testItemObject.insert("dynamic-correct-data", ui->tableWidget->item(i, 7)->text());
}
testItemObject.insert("title", ui->tableWidget->item(i, 2)->text()); testItemObject.insert("title", ui->tableWidget->item(i, 2)->text());
testItemObject.insert("station", ui->tableWidget->item(i, 3)->text()); testItemObject.insert("station", ui->tableWidget->item(i, 3)->text());
testItemObject.insert("man", ui->tableWidget->item(i, 4)->text() == tr("automatic testing") ? false : true); testItemObject.insert("man", ui->tableWidget->item(i, 4)->text() == tr("automatic testing") ? false : true);
testItemObject.insert("desc", ui->tableWidget->item(i, 5)->text()); testItemObject.insert("desc", ui->tableWidget->item(i, 5)->text());
json.insert(QString::number(i + 1), QJsonValue(testItemObject)); json.insert(QString::number(i + 1), QJsonValue(testItemObject));
} }

View File

@ -40,8 +40,7 @@ std::vector<AnalysisJson::json_node> AnalysisJson::GetNode()
obj[key].toObject()["desc"].toString(), obj[key].toObject()["desc"].toString(),
obj[key].toObject()["station"].toString(), obj[key].toObject()["station"].toString(),
obj[key].toObject()["dynamic-correct-data"].toString(), obj[key].toObject()["dynamic-correct-data"].toString(),
obj[key].toObject()["resolution"].toInt(), obj[key].toObject()["resolution"].toInt()});
obj[key].toObject()["correct-value"].toInt()});
} }
return nodes; return nodes;
} }

View File

@ -16,7 +16,6 @@ public:
QString station; QString station;
QString dynamic_correct_data; QString dynamic_correct_data;
int resolution; int resolution;
int correct_value;
}; };
struct json_global{ struct json_global{

View File

@ -866,20 +866,12 @@ void Form_mainInterface::on_pbtn_start_clicked()
else if (title == "扫描图像彩色质量确认_600dpi" || title == "扫描图像灰度质量确认_600dpi" || title == "计算畸变修正值_600dpi" || title == "设置畸变修正值_600dpi") else if (title == "扫描图像彩色质量确认_600dpi" || title == "扫描图像灰度质量确认_600dpi" || title == "计算畸变修正值_600dpi" || title == "设置畸变修正值_600dpi")
dpi = 600; dpi = 600;
int correct_value = -1;
if (name == "AUTO_FLAT_FIELD")
correct_value = 0;
wchar_t buf[128] = {0}; wchar_t buf[128] = {0};
if (dpi > 0) if (dpi > 0)
{ {
m_curDpi = dpi; m_curDpi = dpi;
swprintf(buf, L"%d", dpi); swprintf(buf, L"%d", dpi);
} }
else if (correct_value > -1 && correct_value < 7)
{
swprintf(buf, L"%d", correct_value);
}
std::string correctData = m_map_title_name.value(title).dynamic_correct_data.toStdString(); std::string correctData = m_map_title_name.value(title).dynamic_correct_data.toStdString();
if (!correctData.empty()) if (!correctData.empty())
@ -895,7 +887,7 @@ void Form_mainInterface::on_pbtn_start_clicked()
m_mainwnd->addTestingRef(); m_mainwnd->addTestingRef();
int ret = 0; int ret = 0;
if (buf != nullptr || (dpi > 0 || (correct_value > -1 && correct_value < 7))) if (buf != nullptr || (dpi > 0))
{ {
ret = func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg); ret = func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg);
} }

View File

@ -965,17 +965,17 @@ public:
dpi_type = 0; dpi_type = 0;
unsigned int llen = sizeof(int); unsigned int llen = sizeof(int);
size_t strl = 0; size_t strl = 0;
ret = wchar_to_char(str, p, &strl); //ret = wchar_to_char(str, p, &strl);
if (ret == ERROR_INSUFFICIENT_BUFFER) //if (ret == ERROR_INSUFFICIENT_BUFFER)
{ //{
str.resize(strl); // str.resize(strl);
ret = wchar_to_char(str, p, &strl); // ret = wchar_to_char(str, p, &strl);
if (str.empty()) // if (str.empty())
{ // {
return SCANNER_ERR_DATA_DAMAGED; // return SCANNER_ERR_DATA_DAMAGED;
} // }
dpi_type = atoi(str.c_str()); // dpi_type = atoi(str.c_str());
} //}
return helper_->io_control(IO_CTRL_CODE_SET_AUTO_FALT, &dpi_type, &len);; return helper_->io_control(IO_CTRL_CODE_SET_AUTO_FALT, &dpi_type, &len);;
} }
/* 重启设备 */ /* 重启设备 */