#include "interfaceTestWin.h" #include "ui_interfaceTestWin.h" #include "testThread.h" #include "globalParams.h" #include #include InterfaceTestWin::InterfaceTestWin(QWidget *parent) : QWidget(parent) , ui(new Ui::InterfaceTestWin) { ui->setupUi(this); serialModel = new QStandardItemModel(this); serialSelect = new QItemSelectionModel(serialModel); serialModel->setColumnCount(2); ui->tableViewSerial->setModel(serialModel); ui->tableViewSerial->setSelectionModel(serialSelect); ui->tableViewSerial->horizontalHeader()->setVisible(false); ui->tableViewSerial->verticalHeader()->setVisible(false); ui->tableViewSerial->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tableViewSerial->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); QFont font = ui->tableViewSerial->font(); //font.setPointSize(10); ui->tableViewSerial->setFont(font); QList aItemList; QStandardItem *aItem = new QStandardItem("串口接收"); aItem->setEditable(false); font.setBold(true); aItem->setFont(font); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); aItem = new QStandardItem(""); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); serialModel->insertRow(serialModel->rowCount(),aItemList); aItemList.clear(); aItem = new QStandardItem("串口发送"); aItem->setEditable(false); font.setBold(true); aItem->setFont(font); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); aItem = new QStandardItem(""); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); serialModel->insertRow(serialModel->rowCount(),aItemList); canModel = new QStandardItemModel(this); canSelect = new QItemSelectionModel(canModel); canModel->setColumnCount(2); ui->tableViewCan->setModel(canModel); ui->tableViewCan->setSelectionModel(canSelect); ui->tableViewCan->horizontalHeader()->setVisible(false); ui->tableViewCan->verticalHeader()->setVisible(false); ui->tableViewCan->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tableViewCan->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); aItemList.clear(); aItem = new QStandardItem("CAN接收"); aItem->setEditable(false); font.setBold(true); aItem->setFont(font); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); aItem = new QStandardItem(""); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); canModel->insertRow(canModel->rowCount(),aItemList); aItemList.clear(); aItem = new QStandardItem("CAN发送"); aItem->setEditable(false); font.setBold(true); aItem->setFont(font); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); aItem = new QStandardItem(""); aItem->setTextAlignment(Qt::AlignCenter); aItemList.append(aItem); canModel->insertRow(canModel->rowCount(),aItemList); connect(&TestThread::getInstance(),SIGNAL(serialRecvResultSignal(bool)),this,SLOT(serialRecvResultHandle(bool)),Qt::QueuedConnection); connect(&TestThread::getInstance(),SIGNAL(serialSendResultSignal(bool)),this,SLOT(serialSendResultHandle(bool)),Qt::QueuedConnection); } InterfaceTestWin::~InterfaceTestWin() { delete ui; } void InterfaceTestWin::serialRecvResultHandle(bool result) { QMap map; map["BDSN"] = globalParams::bdSN; map["TESTER"] = globalParams::curUserId; QDateTime cur = QDateTime::currentDateTime(); map["TEST_TIME"] = cur.toString("yyyy-MM-dd hh:mm:ss"); if(result){ serialModel->item(0,1)->setText("正常"); serialModel->item(0,1)->setForeground(QBrush(QColor(0,140,0))); map["SERIAL_RECV"] = "PASS"; }else{ serialModel->item(0,1)->setText("不正常"); serialModel->item(0,1)->setForeground(QBrush(Qt::red)); map["SERIAL_RECV"] = "FAIL"; } SQLITEDB::getInstance().saveRecord("INTERFACE_TEST",map); } void InterfaceTestWin::serialSendResultHandle(bool result) { QMap map; map["BDSN"] = globalParams::bdSN; map["TESTER"] = globalParams::curUserId; QDateTime cur = QDateTime::currentDateTime(); map["TEST_TIME"] = cur.toString("yyyy-MM-dd hh:mm:ss"); if(result){ serialModel->item(1,1)->setText("正常"); serialModel->item(1,1)->setForeground(QBrush(QColor(0,140,0))); map["SERIAL_SEND"] = "PASS"; }else{ serialModel->item(1,1)->setText("不正常"); serialModel->item(1,1)->setForeground(QBrush(Qt::red)); map["SERIAL_SEND"] = "FAIL"; } SQLITEDB::getInstance().saveRecord("INTERFACE_TEST",map); } void InterfaceTestWin::on_btnSerialTest_clicked() { if(TestThread::getInstance().isOnTest()){ QMessageBox::warning(this,"警告","请等待其他测试项完成再开始测试!",QMessageBox::Ok,QMessageBox::NoButton); return; } serialModel->item(0,1)->setText(""); serialModel->item(0,1)->setForeground(QBrush(Qt::black)); serialModel->item(1,1)->setText(""); serialModel->item(1,1)->setForeground(QBrush(Qt::black)); QVector testList; testList.append(TEST_TYPE::SERIAL); TestThread::getInstance().setTestList(testList); TestThread::getInstance().start(); }