BDTeset/src/cpp/statusTestWin.cpp

254 lines
10 KiB
C++
Raw Normal View History

2025-06-28 17:19:00 +00:00
#include "statusTestWin.h"
#include "ui_statusTestWin.h"
#include <QPushButton>
#include <QFontMetrics>
StatusTestWin::StatusTestWin(QWidget *parent)
: QWidget(parent)
, ui(new Ui::StatusTestWin)
{
ui->setupUi(this);
statusModel = new QStandardItemModel(this);
statusSelect = new QItemSelectionModel(statusModel);
statusModel->setColumnCount(3);
ui->tableView->setModel(statusModel);
ui->tableView->setSelectionModel(statusSelect);
ui->tableView->horizontalHeader()->setVisible(false);
ui->tableView->verticalHeader()->setVisible(false);
ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableView->setWordWrap(true);
QFont font = ui->tableView->font();
font.setBold(true);
QList<QStandardItem *> aItemList;
QStandardItem *aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readRnSnBtn = new QPushButton("读取RNSS北斗序列号");
readRnSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readRnSnBtn->setFont(font);
readRnSnBtn->setDefault(true);
//QFontMetrics metrics = readRnSnBtn->fontMetrics();
//int minW = metrics.horizontalAdvance("读取RNSS北斗序列号")+40;
//readRnSnBtn->setMinimumWidth(minW);
//ui->tableView->setColumnWidth(0,minW);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readRnSnBtn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readMPD9Btn = new QPushButton("读取MPD009编号");
readMPD9Btn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readMPD9Btn->setFont(font);
readMPD9Btn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD9Btn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readMPD7Btn = new QPushButton("读取MPD007编号");
readMPD7Btn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readMPD7Btn->setFont(font);
readMPD7Btn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7Btn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readPrmBtn = new QPushButton("读取PRM编号");
readPrmBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readPrmBtn->setFont(font);
readPrmBtn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmBtn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readMPD7DateBtn = new QPushButton("读取MPD007有效期");
readMPD7DateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readMPD7DateBtn->setFont(font);
readMPD7DateBtn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7DateBtn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readPrmDateBtn = new QPushButton("读取PRM有效期");
readPrmDateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readPrmDateBtn->setFont(font);
readPrmDateBtn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmDateBtn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
//多一行空白行合并,使该行变宽
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
ui->tableView->setSpan(statusModel->rowCount()-2,0,2,2);
ui->tableView->setSpan(statusModel->rowCount()-2,2,2,1);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readRdSnBtn = new QPushButton("读取RDSS北斗序列号");
readRdSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readRdSnBtn->setFont(font);
readRdSnBtn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readRdSnBtn);
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("北斗ID号");
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
QPushButton *readIdBtn = new QPushButton("读取北斗ID号");
readIdBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
readIdBtn->setFont(font);
readIdBtn->setDefault(true);
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readIdBtn);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("服务频度");
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("通信等级");
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("通播地址");
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
aItemList.clear();
aItem = new QStandardItem("");
aItem->setEditable(false);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("保密标志");
aItem->setFont(font);
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
aItem = new QStandardItem("");
aItem->setTextAlignment(Qt::AlignCenter);
aItemList.append(aItem);
statusModel->insertRow(statusModel->rowCount(),aItemList);
ui->tableView->setSpan(statusModel->rowCount()-5,0,5,1);
}
StatusTestWin::~StatusTestWin()
{
delete ui;
}