修改分析报告自动生成中数据编辑界面
This commit is contained in:
parent
9d1164e336
commit
cafcb2839a
|
|
@ -1,4 +1,4 @@
|
|||
#include "EnergyScaleDataModel.h"
|
||||
#include "EnergyScaleDataModel.h"
|
||||
#include <QJsonDocument>
|
||||
#include <QFile>
|
||||
#include <QVariant>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@
|
|||
#include <QTextEdit>
|
||||
#include <QPushButton>
|
||||
#include <QLineEdit>
|
||||
#include <QLabel>
|
||||
#include <QTableWidget>
|
||||
#include <QScrollArea>
|
||||
ReportWidget::ReportWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
|
|
@ -59,62 +61,167 @@ void ReportWidget::setupUi()
|
|||
|
||||
// 测量参数组
|
||||
auto* measureGroup = new QGroupBox("测量参数", this);
|
||||
auto* measureLayout = new QFormLayout(measureGroup);
|
||||
auto* measureLayout = new QGridLayout(measureGroup);
|
||||
measureLayout->setSpacing(4);
|
||||
measureLayout->setContentsMargins(4, 4, 4, 4);
|
||||
m_spectrumFileLabel = new QLabel("能谱文件:",this);
|
||||
m_spectrumFileEdit = new QLineEdit(this);
|
||||
|
||||
m_startTimeLabel = new QLabel("开始时间:",this);
|
||||
m_startTimeEdit = new QLineEdit(this);
|
||||
|
||||
m_liveTimeLabel = new QLabel("活时间 (秒):",this);
|
||||
m_liveTimeEdit = new QLineEdit(this);
|
||||
|
||||
m_realTimeLabel = new QLabel("实时间 (秒):",this);
|
||||
m_realTimeEdit = new QLineEdit(this);
|
||||
|
||||
m_deadTimeLabel = new QLabel("死时间 (秒):",this);
|
||||
m_deadTimeEdit = new QLineEdit(this);
|
||||
|
||||
measureLayout->addRow("能谱文件:", m_spectrumFileEdit);
|
||||
measureLayout->addRow("开始时间 (yyyy/M/d hh:mm:ss):", m_startTimeEdit);
|
||||
measureLayout->addRow("活时间 (秒):", m_liveTimeEdit);
|
||||
measureLayout->addRow("实时间 (秒):", m_realTimeEdit);
|
||||
measureLayout->addRow("死时间 (%):", m_deadTimeEdit);
|
||||
dataLayout->addWidget(measureGroup);
|
||||
measureLayout->addWidget(m_spectrumFileLabel,0,0);
|
||||
measureLayout->addWidget(m_spectrumFileEdit,0,1);
|
||||
measureLayout->addWidget(m_startTimeLabel,1,0);
|
||||
measureLayout->addWidget(m_startTimeEdit,1,1);
|
||||
measureLayout->addWidget(m_liveTimeLabel,1,2);
|
||||
measureLayout->addWidget(m_liveTimeEdit,1,3);
|
||||
measureLayout->addWidget(m_realTimeLabel,2,0);
|
||||
measureLayout->addWidget(m_realTimeEdit,2,1);
|
||||
measureLayout->addWidget(m_deadTimeLabel,2,2);
|
||||
measureLayout->addWidget(m_deadTimeEdit,2,3);
|
||||
|
||||
// 刻度参数组
|
||||
auto* calibGroup = new QGroupBox("刻度参数", this);
|
||||
auto* calibLayout = new QFormLayout(calibGroup);
|
||||
m_calibFileEdit = new QLineEdit(this);
|
||||
m_energyInterceptEdit = new QLineEdit(this);
|
||||
m_energySlopeEdit = new QLineEdit(this);
|
||||
m_energyQuadraticEdit = new QLineEdit(this);
|
||||
auto* calibLayout = new QVBoxLayout(calibGroup);
|
||||
auto* calibFileLayout = new QHBoxLayout();
|
||||
|
||||
auto* calibFileLabel = new QLabel("文件:",this);
|
||||
m_calibFileEdit = new QLineEdit(this);
|
||||
calibFileLayout->addWidget(calibFileLabel);
|
||||
calibFileLayout->addWidget(m_calibFileEdit);
|
||||
|
||||
auto* energyGroup = new QGroupBox("能量刻度", this);
|
||||
auto* energyGridLayout = new QGridLayout(energyGroup);
|
||||
|
||||
auto* calibGenerateTimeLabel = new QLabel("生成时间:",this);
|
||||
m_calibGenerateTimeEdit = new QLineEdit(this);
|
||||
auto* energyInterceptLabel = new QLabel("能量截距 (keV):",this);
|
||||
m_energyInterceptEdit = new QLineEdit(this);
|
||||
auto* energySlopeLabel = new QLabel("能量斜率 (keV/ch):",this);
|
||||
m_energySlopeEdit = new QLineEdit(this);
|
||||
auto* energyQuadraticLabel = new QLabel("二次项系数 (keV/(ch^2)):",this);
|
||||
m_energyQuadraticEdit = new QLineEdit(this);
|
||||
energyGridLayout->addWidget(calibGenerateTimeLabel,0,0);
|
||||
energyGridLayout->addWidget(m_calibGenerateTimeEdit,0,1);
|
||||
energyGridLayout->addWidget(energyInterceptLabel,0,2);
|
||||
energyGridLayout->addWidget(m_energyInterceptEdit,0,3);
|
||||
energyGridLayout->addWidget(energySlopeLabel,1,0);
|
||||
energyGridLayout->addWidget(m_energySlopeEdit,1,1);
|
||||
energyGridLayout->addWidget(energyQuadraticLabel,1,2);
|
||||
energyGridLayout->addWidget(m_energyQuadraticEdit,1,3);
|
||||
auto* EfficiencyGroup = new QGroupBox("效率刻度", this);
|
||||
auto* EfficiencyGridLayout = new QGridLayout(EfficiencyGroup);
|
||||
auto* efficiencyTimeLabel = new QLabel("效率生成时间:",this);
|
||||
m_efficiencyTimeEdit = new QLineEdit(this);//效率生成时间
|
||||
auto* inflectionEnergyLabel = new QLabel("拐点能量:",this);
|
||||
m_inflectionEnergyEdit = new QLineEdit(this);//拐点能量
|
||||
auto* aboveInflectionLabel = new QLabel("拐点向上:",this);
|
||||
m_aboveInflectionEdit = new QLineEdit(this);//拐点向上
|
||||
auto* aboveErrorLabel = new QLabel("拐点向上误差:",this);
|
||||
m_aboveErrorEdit = new QLineEdit(this);//拐点向上误差
|
||||
auto* belowInflectionLabel = new QLabel("拐点向下:",this);
|
||||
m_belowInflectionEdit = new QLineEdit(this);//拐点向下
|
||||
auto* belowErrorLabel = new QLabel("拐点向下误差:",this);
|
||||
m_belowErrorEdit = new QLineEdit(this);//拐点向下误差
|
||||
auto* logEquationLabel = new QLabel("效率对数方程式:",this);
|
||||
m_logEquationEdit= new QLineEdit(this);//效率对数方程式
|
||||
EfficiencyGridLayout->addWidget(efficiencyTimeLabel,0,0);
|
||||
EfficiencyGridLayout->addWidget(m_efficiencyTimeEdit,0,1);
|
||||
EfficiencyGridLayout->addWidget(inflectionEnergyLabel,0,2);
|
||||
EfficiencyGridLayout->addWidget(m_inflectionEnergyEdit,0,3);
|
||||
EfficiencyGridLayout->addWidget(aboveInflectionLabel,1,0);
|
||||
EfficiencyGridLayout->addWidget(m_aboveInflectionEdit,1,1);
|
||||
EfficiencyGridLayout->addWidget(aboveErrorLabel,1,2);
|
||||
EfficiencyGridLayout->addWidget(m_aboveErrorEdit,1,3);
|
||||
EfficiencyGridLayout->addWidget(belowInflectionLabel,2,0);
|
||||
EfficiencyGridLayout->addWidget(m_belowInflectionEdit,2,1);
|
||||
EfficiencyGridLayout->addWidget(belowErrorLabel,2,2);
|
||||
EfficiencyGridLayout->addWidget(m_belowErrorEdit,2,3);
|
||||
EfficiencyGridLayout->addWidget(logEquationLabel,3,0);
|
||||
EfficiencyGridLayout->addWidget(m_logEquationEdit,3,1,1,3);
|
||||
calibLayout->addLayout(calibFileLayout,1);
|
||||
calibLayout->addWidget(energyGroup,2);
|
||||
calibLayout->addWidget(EfficiencyGroup,2);
|
||||
|
||||
calibLayout->addRow("刻度文件:", m_calibFileEdit);
|
||||
calibLayout->addRow("能量截距 (keV):", m_energyInterceptEdit);
|
||||
calibLayout->addRow("能量斜率 (keV/ch):", m_energySlopeEdit);
|
||||
calibLayout->addRow("二次项系数 (keV/(ch^2)):", m_energyQuadraticEdit);
|
||||
dataLayout->addWidget(calibGroup);
|
||||
|
||||
// 核素库与分析参数
|
||||
auto* paramGroup = new QGroupBox("核素库与分析参数", this);
|
||||
auto* paramLayout = new QFormLayout(paramGroup);
|
||||
auto* paramLayout = new QGridLayout(paramGroup);
|
||||
auto* nuclideLibLabel = new QLabel("核素库文件:",this);
|
||||
m_nuclideLibEdit = new QLineEdit(this);
|
||||
auto* peakMatchWidthLabel = new QLabel("峰匹配宽度:",this);
|
||||
m_peakMatchWidthEdit = new QLineEdit(this);
|
||||
auto* startEnergyLabel = new QLabel("起始能量 (keV):",this);
|
||||
m_startEnergyEdit = new QLineEdit(this);
|
||||
auto* endEnergyLabel = new QLabel("终止能量 (keV):",this);
|
||||
m_endEnergyEdit = new QLineEdit(this);
|
||||
auto* statErrorLabel = new QLabel("统计误差限值 (%):",this);
|
||||
m_statErrorEdit = new QLineEdit(this);
|
||||
auto* activityRatiomLabel = new QLabel("活度比例系数:",this);
|
||||
m_activityRatiomEdit = new QLineEdit(this);//活度比例系数
|
||||
auto* mdaMethodLabel = new QLabel("探测限计算方法:",this);
|
||||
m_mdaMethodEdit = new QLineEdit(this);//探测限计算方法
|
||||
|
||||
paramLayout->addWidget(nuclideLibLabel,0,0);
|
||||
paramLayout->addWidget(m_nuclideLibEdit,0,1);
|
||||
paramLayout->addWidget(peakMatchWidthLabel,0,2);
|
||||
paramLayout->addWidget(m_peakMatchWidthEdit,0,3);
|
||||
|
||||
paramLayout->addWidget(startEnergyLabel,1,0);
|
||||
paramLayout->addWidget(m_startEnergyEdit,1,1);
|
||||
paramLayout->addWidget(endEnergyLabel,1,2);
|
||||
paramLayout->addWidget(m_endEnergyEdit,1,3);
|
||||
|
||||
paramLayout->addWidget(statErrorLabel,2,0);
|
||||
paramLayout->addWidget(m_statErrorEdit,2,1);
|
||||
paramLayout->addWidget(activityRatiomLabel,2,2);
|
||||
paramLayout->addWidget(m_activityRatiomEdit,2,3);
|
||||
|
||||
paramLayout->addWidget(mdaMethodLabel,3,0);
|
||||
paramLayout->addWidget(m_mdaMethodEdit,3,1,1,3);
|
||||
|
||||
paramLayout->addRow("核素库文件:", m_nuclideLibEdit);
|
||||
paramLayout->addRow("峰匹配宽度 (*FWHM):", m_peakMatchWidthEdit);
|
||||
paramLayout->addRow("起始能量 (keV):", m_startEnergyEdit);
|
||||
paramLayout->addRow("终止能量 (keV):", m_endEnergyEdit);
|
||||
paramLayout->addRow("统计误差限值 (%):", m_statErrorEdit);
|
||||
dataLayout->addWidget(paramGroup);
|
||||
|
||||
// 峰数据表格
|
||||
auto* peakGroup = new QGroupBox("能谱峰数据", this);
|
||||
auto* peakLayout = new QVBoxLayout(peakGroup);
|
||||
m_peakTable = new QTableWidget(this);
|
||||
m_peakTable->setColumnCount(7);
|
||||
m_peakTable->setHorizontalHeaderLabels(
|
||||
QStringList() << "核素" << "平均活度(Bq)" << "能量(keV)"
|
||||
<< "峰活度(Bq)" << "MDA(Bq)" << "提示码" << "备注");
|
||||
m_peakTable->horizontalHeader()->setStretchLastSection(true);
|
||||
m_peakTable->setRowCount(10); // 预留10行
|
||||
m_peakTable->horizontalHeader()->setVisible(false);
|
||||
m_peakTable->verticalHeader()->setVisible(false);
|
||||
m_peakTable->setColumnCount(8);
|
||||
m_peakTable->setRowCount(10);
|
||||
m_peakTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 列宽均分
|
||||
// m_peakTable->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 行高均分
|
||||
m_peakTable->verticalHeader()->setDefaultSectionSize(24); // 设置默认行高
|
||||
|
||||
|
||||
m_peakTable->setSpan(0, 0, 1, 8);
|
||||
setDataTableTitle(m_peakTable, 0, 0, "能谱峰一览表");
|
||||
m_peakTable->setSpan(1, 0, 2, 1);
|
||||
setDataTableTitle(m_peakTable, 1, 0, "核素");
|
||||
m_peakTable->setSpan(1, 1, 2, 1);
|
||||
setDataTableTitle(m_peakTable, 1, 1, "平均活度\n(贝克Bq)");
|
||||
m_peakTable->setSpan(1, 2, 2, 1);
|
||||
setDataTableTitle(m_peakTable, 1, 2, "不确\n定度");
|
||||
m_peakTable->setSpan(1, 3, 1, 4);
|
||||
setDataTableTitle(m_peakTable, 1, 3, "峰");
|
||||
setDataTableTitle(m_peakTable, 2, 3, "能量keV");
|
||||
setDataTableTitle(m_peakTable, 2, 4, "活度\n(贝克Bq)");
|
||||
setDataTableTitle(m_peakTable, 2, 5, "不确定度");
|
||||
setDataTableTitle(m_peakTable, 2, 6, "最小可探测活度\n(MDA)(贝克Bq)");
|
||||
m_peakTable->setSpan(1, 7, 2, 1);
|
||||
setDataTableTitle(m_peakTable, 1, 7, "备注");
|
||||
peakLayout->addWidget(m_peakTable);
|
||||
dataLayout->addWidget(peakGroup);
|
||||
|
||||
|
||||
// 签名信息
|
||||
auto* signGroup = new QGroupBox("签名信息", this);
|
||||
|
|
@ -128,15 +235,25 @@ void ReportWidget::setupUi()
|
|||
signLayout->addRow("审查员:", m_reviewerEdit);
|
||||
signLayout->addRow("实验室:", m_laboratoryEdit);
|
||||
signLayout->addRow("报告日期 (yyyy-MM-dd):", m_reportDateEdit);
|
||||
dataLayout->addWidget(signGroup);
|
||||
|
||||
dataLayout->addWidget(measureGroup,0);
|
||||
dataLayout->addWidget(calibGroup,0);
|
||||
dataLayout->addWidget(paramGroup,0);
|
||||
dataLayout->addWidget(peakGroup,1);
|
||||
dataLayout->addWidget(signGroup,0);
|
||||
dataLayout->addStretch();
|
||||
m_tabWidget->addTab(m_dataEditWidget, "数据编辑");
|
||||
auto* scrollArea = new QScrollArea(this);
|
||||
scrollArea->setFrameShape(QFrame::NoFrame);
|
||||
scrollArea->setWidgetResizable(true);
|
||||
scrollArea->setWidget(m_dataEditWidget);
|
||||
// m_tabWidget->addTab(m_dataEditWidget, "数据编辑");
|
||||
m_tabWidget->addTab(scrollArea, "数据编辑");
|
||||
|
||||
|
||||
|
||||
mainLayout->addWidget(m_tabWidget);
|
||||
|
||||
resize(1000, 700);
|
||||
setWindowTitle("能谱分析报告生成器");
|
||||
// resize(800, 600);
|
||||
setWindowTitle("能谱分析报告");
|
||||
}
|
||||
|
||||
void ReportWidget::setupConnections()
|
||||
|
|
@ -161,16 +278,27 @@ void ReportWidget::setReportData(const SpectrumReportData &data)
|
|||
m_deadTimeEdit->setText(QString::number(m_data.measurement.deadTime));
|
||||
|
||||
m_calibFileEdit->setText(m_data.calibration.fileName);
|
||||
m_calibGenerateTimeEdit->setText(m_data.calibration.energy.generateTime.toString("yyyy/M/d hh:mm:ss"));
|
||||
m_energyInterceptEdit->setText(QString::number(m_data.calibration.energy.intercept));
|
||||
m_energySlopeEdit->setText(QString::number(m_data.calibration.energy.slope));
|
||||
m_energyQuadraticEdit->setText(QString::number(m_data.calibration.energy.quadratic, 'E', 3));
|
||||
|
||||
m_efficiencyTimeEdit->setText(m_data.calibration.efficiency.generateTime.toString("yyyy/M/d hh:mm:ss"));//效率生成时间
|
||||
m_inflectionEnergyEdit->setText(QString::number(m_data.calibration.efficiency.inflectionEnergy));//拐点能量
|
||||
m_aboveInflectionEdit->setText(m_data.calibration.efficiency.aboveInflection);//拐点向上
|
||||
m_aboveErrorEdit->setText(QString::number(m_data.calibration.efficiency.aboveError));//拐点向上误差
|
||||
m_belowInflectionEdit->setText(m_data.calibration.efficiency.belowInflection);//拐点向下
|
||||
m_belowErrorEdit->setText(QString::number(m_data.calibration.efficiency.belowError));//拐点向下误差
|
||||
m_logEquationEdit->setText(m_data.calibration.efficiency.logEquation);//效率对数方程式
|
||||
|
||||
m_nuclideLibEdit->setText(m_data.nuclideLib.fileName);
|
||||
m_peakMatchWidthEdit->setText(QString::number(m_data.nuclideLib.peakMatchWidth));
|
||||
|
||||
m_startEnergyEdit->setText(QString::number(m_data.analysis.startEnergy));
|
||||
m_endEnergyEdit->setText(QString::number(m_data.analysis.endEnergy));
|
||||
m_statErrorEdit->setText(QString::number(m_data.analysis.statErrorLimit));
|
||||
m_activityRatiomEdit->setText(QString::number(m_data.analysis.activityRatio));
|
||||
m_mdaMethodEdit->setText(m_data.analysis.mdaMethod);
|
||||
|
||||
m_analystEdit->setText(m_data.signature.analyst);
|
||||
m_reviewerEdit->setText(m_data.signature.reviewer);
|
||||
|
|
@ -230,7 +358,7 @@ void ReportWidget::updateDataFromUi()
|
|||
|
||||
// 峰数据(从表格读取)
|
||||
m_data.clearPeaks();
|
||||
for (int row = 0; row < m_peakTable->rowCount(); ++row) {
|
||||
for (int row = 3; row < m_peakTable->rowCount(); ++row) {
|
||||
QTableWidgetItem* nuclideItem = m_peakTable->item(row, 0);
|
||||
if (!nuclideItem || nuclideItem->text().isEmpty()) {
|
||||
continue;
|
||||
|
|
@ -265,8 +393,8 @@ void ReportWidget::updatePeakTable()
|
|||
{
|
||||
m_peakTable->setRowCount(m_data.peakCount() + 5); // 多留几行
|
||||
|
||||
for (int i = 0; i < m_data.peakCount(); ++i) {
|
||||
const auto& peak = m_data.peaks[i];
|
||||
for (int i = 3; i < m_data.peakCount() + 3; ++i) {
|
||||
const auto& peak = m_data.peaks[i-3];
|
||||
m_peakTable->setItem(i, 0, new QTableWidgetItem(peak.nuclide));
|
||||
m_peakTable->setItem(i, 1, new QTableWidgetItem(QString::number(peak.avgActivity, 'E', 4)));
|
||||
m_peakTable->setItem(i, 2, new QTableWidgetItem(QString::number(peak.energy, 'f', 2)));
|
||||
|
|
@ -342,4 +470,57 @@ void ReportWidget::loadSampleData()
|
|||
SpectrumReportData data;
|
||||
data.fillSampleData();
|
||||
setReportData(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void ReportWidget::setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, int nVal)
|
||||
{
|
||||
QString strVal = nVal == 0 ? "0" : QString("%1").arg(nVal);
|
||||
setData2Table(pTableWidget, nRow, nCol, strVal);
|
||||
}
|
||||
void ReportWidget::setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, double dVal)
|
||||
{
|
||||
QString strVal = dVal == 0 ? "0" : QString("%1").arg(dVal);
|
||||
setData2Table(pTableWidget, nRow, nCol, strVal);
|
||||
}
|
||||
void ReportWidget::setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, QString strVal)
|
||||
{
|
||||
if (pTableWidget == NULL)
|
||||
return;
|
||||
QString strValTmp = strVal == "" ? "" : QString("%1").arg(strVal);
|
||||
pTableWidget->setItem(nRow, nCol, new QTableWidgetItem(strValTmp));
|
||||
pTableWidget->item(nRow, nCol)->setForeground(QBrush(Qt::black));
|
||||
// QFont f = pTableWidget->item(nRow, nCol)->font(); // 拷贝原字体
|
||||
// f.setPointSize(15);
|
||||
// pTableWidget->item(nRow, nCol)->setFont(f); // 生效
|
||||
pTableWidget->item(nRow, nCol)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
||||
}
|
||||
|
||||
|
||||
void ReportWidget::setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, int nVal)
|
||||
{
|
||||
QString strVal = nVal == 0 ? "0" : QString("%1").arg(nVal);
|
||||
setData2Table(pTableWidget, nRow, nCol, strVal);
|
||||
}
|
||||
|
||||
void ReportWidget::setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, double dVal)
|
||||
{
|
||||
QString strVal = dVal == 0 ? "0" : QString("%1").arg(dVal);
|
||||
setData2Table(pTableWidget, nRow, nCol, strVal);
|
||||
}
|
||||
|
||||
void ReportWidget::setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, QString strVal)
|
||||
{
|
||||
if (pTableWidget == NULL)
|
||||
return;
|
||||
QString strValTmp = strVal == "" ? "" : QString("%1").arg(strVal);
|
||||
pTableWidget->setItem(nRow, nCol, new QTableWidgetItem(strValTmp));
|
||||
pTableWidget->item(nRow, nCol)->setForeground(QBrush(Qt::black));
|
||||
// pTableWidget->item(nRow, nCol)->setBackground(QColor(135, 206, 235)); // 天蓝色
|
||||
// QFont f = pTableWidget->item(nRow, nCol)->font(); // 拷贝原字体
|
||||
// f.setPointSize(15); // 14 号字
|
||||
// pTableWidget->item(nRow, nCol)->setFont(f); // 生效
|
||||
pTableWidget->item(nRow, nCol)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,14 @@ private:
|
|||
void updateDataFromUi();
|
||||
void updatePeakTable();
|
||||
|
||||
|
||||
void setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, int nVal);
|
||||
void setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, double dVal);
|
||||
void setData2Table(QTableWidget *pTableWidget, int nRow, int nCol, QString strVal);
|
||||
void setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, int nVal);
|
||||
void setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, double dVal);
|
||||
void setDataTableTitle(QTableWidget *pTableWidget, int nRow, int nCol, QString strVal);
|
||||
|
||||
// UI组件
|
||||
QTabWidget* m_tabWidget;
|
||||
QTextBrowser* m_htmlView;
|
||||
|
|
@ -56,30 +64,49 @@ private:
|
|||
QWidget* m_dataEditWidget;
|
||||
|
||||
// 数据编辑组件
|
||||
QLineEdit* m_spectrumFileEdit;
|
||||
QLineEdit* m_startTimeEdit;
|
||||
QLineEdit* m_liveTimeEdit;
|
||||
QLineEdit* m_realTimeEdit;
|
||||
QLineEdit* m_deadTimeEdit;
|
||||
QLabel *m_spectrumFileLabel;
|
||||
QLineEdit* m_spectrumFileEdit;//能谱文件
|
||||
|
||||
QLineEdit* m_calibFileEdit;
|
||||
QLineEdit* m_energyInterceptEdit;
|
||||
QLineEdit* m_energySlopeEdit;
|
||||
QLineEdit* m_energyQuadraticEdit;
|
||||
QLabel *m_startTimeLabel;
|
||||
QLineEdit* m_startTimeEdit;//开始时间
|
||||
|
||||
QLineEdit* m_nuclideLibEdit;
|
||||
QLineEdit* m_peakMatchWidthEdit;
|
||||
QLabel *m_liveTimeLabel;
|
||||
QLineEdit* m_liveTimeEdit;//活时间
|
||||
|
||||
QLineEdit* m_startEnergyEdit;
|
||||
QLineEdit* m_endEnergyEdit;
|
||||
QLineEdit* m_statErrorEdit;
|
||||
QLabel *m_realTimeLabel;
|
||||
QLineEdit* m_realTimeEdit;//实时间
|
||||
|
||||
QLabel *m_deadTimeLabel;
|
||||
QLineEdit* m_deadTimeEdit;//死时间
|
||||
|
||||
QLineEdit* m_calibFileEdit;//刻度文件
|
||||
QLineEdit* m_calibGenerateTimeEdit;//生成时间
|
||||
QLineEdit* m_energyInterceptEdit;//能量截距
|
||||
QLineEdit* m_energySlopeEdit;//能量斜率
|
||||
QLineEdit* m_energyQuadraticEdit;//二次项系数
|
||||
|
||||
QLineEdit* m_efficiencyTimeEdit;//效率生成时间
|
||||
QLineEdit* m_inflectionEnergyEdit;//拐点能量
|
||||
QLineEdit* m_aboveInflectionEdit;//拐点向上
|
||||
QLineEdit* m_aboveErrorEdit;//拐点向上误差
|
||||
QLineEdit* m_belowInflectionEdit;//拐点向下
|
||||
QLineEdit* m_belowErrorEdit;//拐点向下误差
|
||||
QLineEdit* m_logEquationEdit;//效率对数方程式
|
||||
|
||||
QLineEdit* m_nuclideLibEdit;//核素库文件
|
||||
QLineEdit* m_peakMatchWidthEdit;//峰匹配宽度
|
||||
|
||||
QLineEdit* m_startEnergyEdit;//起始能量
|
||||
QLineEdit* m_endEnergyEdit;//终止能量
|
||||
QLineEdit* m_statErrorEdit;//统计误差限值
|
||||
QLineEdit* m_activityRatiomEdit;//活度比例系数
|
||||
QLineEdit* m_mdaMethodEdit;//探测限计算方法
|
||||
QTableWidget* m_peakTable;
|
||||
|
||||
QLineEdit* m_analystEdit;
|
||||
QLineEdit* m_reviewerEdit;
|
||||
QLineEdit* m_laboratoryEdit;
|
||||
QLineEdit* m_reportDateEdit;
|
||||
QLineEdit* m_analystEdit;//分析员
|
||||
QLineEdit* m_reviewerEdit;//审查员
|
||||
QLineEdit* m_laboratoryEdit;//实验室
|
||||
QLineEdit* m_reportDateEdit;//报告日期
|
||||
|
||||
// 按钮
|
||||
QPushButton* m_refreshBtn;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user