add status test
This commit is contained in:
parent
3e1d78f54f
commit
9b5e481c9e
|
@ -31,7 +31,8 @@ SOURCES += \
|
||||||
src/cpp/msgInputWin.cpp \
|
src/cpp/msgInputWin.cpp \
|
||||||
src/cpp/statusTestWin.cpp \
|
src/cpp/statusTestWin.cpp \
|
||||||
src/cpp/precisionTestWin.cpp \
|
src/cpp/precisionTestWin.cpp \
|
||||||
src/cpp/testThread.cpp
|
src/cpp/testThread.cpp \
|
||||||
|
src/cpp/rnSignalPainter.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
src/include/posTestWin.h \
|
src/include/posTestWin.h \
|
||||||
|
@ -42,6 +43,7 @@ HEADERS += \
|
||||||
src/include/msgInputWin.h \
|
src/include/msgInputWin.h \
|
||||||
src/include/precisionTestWin.h \
|
src/include/precisionTestWin.h \
|
||||||
src/include/qcustomplot.h \
|
src/include/qcustomplot.h \
|
||||||
|
src/include/rnSignalPainter.h \
|
||||||
src/include/serialport.h \
|
src/include/serialport.h \
|
||||||
src/include/sqlitedb.h \
|
src/include/sqlitedb.h \
|
||||||
src/include/statusTestWin.h \
|
src/include/statusTestWin.h \
|
||||||
|
@ -50,6 +52,7 @@ HEADERS += \
|
||||||
src/include/utils.h
|
src/include/utils.h
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
|
src/ui/rnSignalPainter.ui \
|
||||||
src/ui/precisionTestWin.ui \
|
src/ui/precisionTestWin.ui \
|
||||||
src/ui/posTestWin.ui \
|
src/ui/posTestWin.ui \
|
||||||
src/ui/interfaceTestWin.ui \
|
src/ui/interfaceTestWin.ui \
|
||||||
|
|
|
@ -11,4 +11,5 @@ namespace globalParams
|
||||||
QString classGroup;
|
QString classGroup;
|
||||||
QString bdSN;
|
QString bdSN;
|
||||||
QString marker;
|
QString marker;
|
||||||
|
QString curRnPosMode;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QRegularExpression>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
|
@ -117,6 +118,15 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
|
|
||||||
connect(&TestThread::getInstance(),SIGNAL(writeDataSignal(QByteArray)),this,SIGNAL(writeDataSignal(QByteArray)),Qt::QueuedConnection);
|
connect(&TestThread::getInstance(),SIGNAL(writeDataSignal(QByteArray)),this,SIGNAL(writeDataSignal(QByteArray)),Qt::QueuedConnection);
|
||||||
connect(&TestThread::getInstance(),SIGNAL(curTestInfoSignal(QString,int)),this,SLOT(curTestInfoHandle(QString,int)),Qt::QueuedConnection);
|
connect(&TestThread::getInstance(),SIGNAL(curTestInfoSignal(QString,int)),this,SLOT(curTestInfoHandle(QString,int)),Qt::QueuedConnection);
|
||||||
|
|
||||||
|
//状态检测
|
||||||
|
connect(ui->statusTestWdg,SIGNAL(writeDataSignal(QByteArray)),this,SIGNAL(writeDataSignal(QByteArray)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvSbxSignal(QString)),ui->statusTestWdg,SLOT(recvSbxHandle(QString)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvIciSignal(QString)),ui->statusTestWdg,SLOT(recvIciHandle(QString)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvPidSignal(QString)),ui->statusTestWdg,SLOT(recvPidHandle(QString)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvIidSignal(QString)),ui->statusTestWdg,SLOT(recvIidHandle(QString)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvIcmSignal(QString)),ui->statusTestWdg,SLOT(recvIcmHandle(QString)),Qt::QueuedConnection);
|
||||||
|
connect(this,SIGNAL(recvPmuSignal(QString)),ui->statusTestWdg,SLOT(recvPmuHandle(QString)),Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
|
@ -137,6 +147,40 @@ void MainWindow::receiverSerialDataHandle(const QByteArray &data)
|
||||||
qDebug()<<"new data can't append to buf";
|
qDebug()<<"new data can't append to buf";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
QStringList lines;
|
||||||
|
int start = 0;
|
||||||
|
for(int i=0;i<leftData.size()-1;i++){
|
||||||
|
if((unsigned char)(leftData[i])==0x0D && (unsigned char)(leftData[i+1])==0x0A){
|
||||||
|
QByteArray tmp = leftData.mid(start,i+1-start+1);
|
||||||
|
start = i+2;
|
||||||
|
lines.append(QString::fromLocal8Bit(tmp));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
leftData = leftData.mid(start);
|
||||||
|
if(lines.isEmpty() && leftData.size()>4096){
|
||||||
|
leftData = leftData.right(4096);
|
||||||
|
}
|
||||||
|
foreach (const QString &line, lines) {
|
||||||
|
QRegularExpression re("\\$[^\\r\\n\\*\\$]+\\*[A-Z0-9]{1,2}\\r{0,1}\\n");
|
||||||
|
QRegularExpressionMatch match = re.match(line);
|
||||||
|
if(match.hasMatch()){
|
||||||
|
QString cmd = match.captured(0);
|
||||||
|
if(cmd.startsWith("$BDSBX")){
|
||||||
|
emit recvSbxSignal(cmd);
|
||||||
|
}else if(cmd.startsWith("$BDICI")){
|
||||||
|
emit recvIciSignal(cmd);
|
||||||
|
}else if(cmd.startsWith("$BDPID")){
|
||||||
|
emit recvPidSignal(cmd);
|
||||||
|
}else if(cmd.startsWith("$BDIID")){
|
||||||
|
emit recvIidSignal(cmd);
|
||||||
|
}else if(cmd.startsWith("$BDICM")){
|
||||||
|
emit recvIcmSignal(cmd);
|
||||||
|
}else if(cmd.startsWith("$BDPMU")){
|
||||||
|
emit recvPmuSignal(cmd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::writeBytesHandle(int bytes)
|
void MainWindow::writeBytesHandle(int bytes)
|
||||||
|
|
|
@ -55,6 +55,7 @@ MsgInputWin::MsgInputWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
msgModel->insertRow(msgModel->rowCount(),aItemList);
|
msgModel->insertRow(msgModel->rowCount(),aItemList);
|
||||||
QComboBox *carType = new QComboBox();
|
QComboBox *carType = new QComboBox();
|
||||||
|
carType->setCursor(Qt::PointingHandCursor);
|
||||||
carType->setEditable(true);
|
carType->setEditable(true);
|
||||||
ui->tableView->setIndexWidget(msgModel->index(msgModel->rowCount()-1,1),carType);
|
ui->tableView->setIndexWidget(msgModel->index(msgModel->rowCount()-1,1),carType);
|
||||||
|
|
||||||
|
|
|
@ -157,44 +157,49 @@ PosTestWin::PosTestWin(QWidget *parent)
|
||||||
viewB1CBtn->setFont(smallFont);
|
viewB1CBtn->setFont(smallFont);
|
||||||
viewB1CBtn->setDefault(true);
|
viewB1CBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(2,10),viewB1CBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(2,10),viewB1CBtn);
|
||||||
|
connect(viewB1CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewB3CBtn = new QPushButton("查看");
|
QPushButton *viewB3CBtn = new QPushButton("查看");
|
||||||
viewB3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewB3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewB3CBtn->setFont(smallFont);
|
viewB3CBtn->setFont(smallFont);
|
||||||
viewB3CBtn->setDefault(true);
|
viewB3CBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(3,10),viewB3CBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(3,10),viewB3CBtn);
|
||||||
|
connect(viewB3CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewB1B3CBtn = new QPushButton("查看");
|
QPushButton *viewB1B3CBtn = new QPushButton("查看");
|
||||||
viewB1B3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewB1B3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewB1B3CBtn->setFont(smallFont);
|
viewB1B3CBtn->setFont(smallFont);
|
||||||
viewB1B3CBtn->setDefault(true);
|
viewB1B3CBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(4,10),viewB1B3CBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(4,10),viewB1B3CBtn);
|
||||||
|
connect(viewB1B3CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewGPSBtn = new QPushButton("查看");
|
QPushButton *viewGPSBtn = new QPushButton("查看");
|
||||||
viewGPSBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewGPSBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewGPSBtn->setFont(smallFont);
|
viewGPSBtn->setFont(smallFont);
|
||||||
viewGPSBtn->setDefault(true);
|
viewGPSBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(5,10),viewGPSBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(5,10),viewGPSBtn);
|
||||||
|
connect(viewGPSBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewB1PBtn = new QPushButton("查看");
|
QPushButton *viewB1PBtn = new QPushButton("查看");
|
||||||
viewB1PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewB1PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewB1PBtn->setFont(smallFont);
|
viewB1PBtn->setFont(smallFont);
|
||||||
viewB1PBtn->setDefault(true);
|
viewB1PBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(6,10),viewB1PBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(6,10),viewB1PBtn);
|
||||||
|
connect(viewB1PBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewB3PBtn = new QPushButton("查看");
|
QPushButton *viewB3PBtn = new QPushButton("查看");
|
||||||
viewB3PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewB3PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewB3PBtn->setFont(smallFont);
|
viewB3PBtn->setFont(smallFont);
|
||||||
viewB3PBtn->setDefault(true);
|
viewB3PBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(7,10),viewB3PBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(7,10),viewB3PBtn);
|
||||||
|
connect(viewB3PBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QPushButton *viewCompatibleBtn = new QPushButton("查看");
|
QPushButton *viewCompatibleBtn = new QPushButton("查看");
|
||||||
viewCompatibleBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
viewCompatibleBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
viewCompatibleBtn->setFont(smallFont);
|
viewCompatibleBtn->setFont(smallFont);
|
||||||
viewCompatibleBtn->setDefault(true);
|
viewCompatibleBtn->setDefault(true);
|
||||||
ui->tableViewRn->setIndexWidget(rnModel->index(8,10),viewCompatibleBtn);
|
ui->tableViewRn->setIndexWidget(rnModel->index(8,10),viewCompatibleBtn);
|
||||||
|
connect(viewCompatibleBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||||
|
|
||||||
|
|
||||||
rdModel->item(0,0)->setText("定位模式");
|
rdModel->item(0,0)->setText("定位模式");
|
||||||
rdModel->item(0,0)->setFont(font);
|
rdModel->item(0,0)->setFont(font);
|
||||||
|
@ -261,3 +266,10 @@ void PosTestWin::on_btnRnTest_clicked()
|
||||||
ui->gpbRnSignal->setVisible(false);
|
ui->gpbRnSignal->setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PosTestWin::view_signal_clicked()
|
||||||
|
{
|
||||||
|
ui->gpbRdTest->setVisible(false);
|
||||||
|
ui->gpbRnTest->setVisible(false);
|
||||||
|
ui->gpbRnSignal->setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
#include "rnSignalPainter.h"
|
||||||
|
#include "ui_rnSignalPainter.h"
|
||||||
|
#include "globalParams.h"
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
|
RnSignalPainter::RnSignalPainter(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
, ui(new Ui::RnSignalPainter)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
RnSignalPainter::~RnSignalPainter()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RnSignalPainter::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
painter.setRenderHint(QPainter::Antialiasing);
|
||||||
|
painter.setRenderHint(QPainter::TextAntialiasing);
|
||||||
|
QPen pen;
|
||||||
|
pen.setWidth(1);
|
||||||
|
pen.setColor(Qt::black);
|
||||||
|
pen.setStyle(Qt::SolidLine);
|
||||||
|
painter.setPen(pen);
|
||||||
|
|
||||||
|
int H=this->height(); //绘图区高度
|
||||||
|
|
||||||
|
QFontMetrics fontMetrics = painter.fontMetrics();
|
||||||
|
int fontHeight = fontMetrics.height();
|
||||||
|
int margin = 5;
|
||||||
|
int spacing = 5;
|
||||||
|
|
||||||
|
painter.drawText(margin,margin+fontMetrics.ascent(),QString("当前定位模式:%1").arg(globalParams::curRnPosMode));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//坐标轴
|
||||||
|
|
||||||
|
|
||||||
|
return QWidget::paintEvent(event);
|
||||||
|
}
|
|
@ -14,9 +14,9 @@ SerialPort::~SerialPort()
|
||||||
{
|
{
|
||||||
serial->close();
|
serial->close();
|
||||||
serial->deleteLater();
|
serial->deleteLater();
|
||||||
thread->quit();
|
//thread->quit();
|
||||||
thread->wait();
|
//thread->wait();
|
||||||
thread->deleteLater();
|
//thread->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SerialPort::open()
|
bool SerialPort::open()
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
#include "statusTestWin.h"
|
#include "statusTestWin.h"
|
||||||
#include "ui_statusTestWin.h"
|
#include "ui_statusTestWin.h"
|
||||||
|
#include "utils.h"
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QFontMetrics>
|
#include <QFontMetrics>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
StatusTestWin::StatusTestWin(QWidget *parent)
|
StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
|
@ -32,11 +34,14 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
aItem = new QStandardItem("");
|
aItem = new QStandardItem("");
|
||||||
aItem->setTextAlignment(Qt::AlignCenter);
|
aItem->setTextAlignment(Qt::AlignCenter);
|
||||||
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readRnSnBtn = new QPushButton("读取RNSS北斗序列号");
|
QPushButton *readRnSnBtn = new QPushButton("读取RNSS北斗序列号");
|
||||||
|
connect(readRnSnBtn,SIGNAL(clicked()),this,SLOT(readRnSnHandle()),Qt::QueuedConnection);
|
||||||
readRnSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readRnSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readRnSnBtn->setFont(font);
|
readRnSnBtn->setFont(font);
|
||||||
readRnSnBtn->setDefault(true);
|
readRnSnBtn->setDefault(true);
|
||||||
|
readRnSnBtn->setCursor(Qt::PointingHandCursor);
|
||||||
//QFontMetrics metrics = readRnSnBtn->fontMetrics();
|
//QFontMetrics metrics = readRnSnBtn->fontMetrics();
|
||||||
//int minW = metrics.horizontalAdvance("读取RNSS北斗序列号")+40;
|
//int minW = metrics.horizontalAdvance("读取RNSS北斗序列号")+40;
|
||||||
//readRnSnBtn->setMinimumWidth(minW);
|
//readRnSnBtn->setMinimumWidth(minW);
|
||||||
|
@ -60,6 +65,7 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
readMPD9Btn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readMPD9Btn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readMPD9Btn->setFont(font);
|
readMPD9Btn->setFont(font);
|
||||||
readMPD9Btn->setDefault(true);
|
readMPD9Btn->setDefault(true);
|
||||||
|
readMPD9Btn->setCursor(Qt::PointingHandCursor);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD9Btn);
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD9Btn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
|
|
||||||
|
@ -75,11 +81,13 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItem->setTextAlignment(Qt::AlignCenter);
|
aItem->setTextAlignment(Qt::AlignCenter);
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readMPD7Btn = new QPushButton("读取MPD007编号");
|
QPushButton *readMPD7IdBtn = new QPushButton("读取MPD007编号");
|
||||||
readMPD7Btn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
connect(readMPD7IdBtn,SIGNAL(clicked()),this,SLOT(readMPD7IdHandle()),Qt::QueuedConnection);
|
||||||
readMPD7Btn->setFont(font);
|
readMPD7IdBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readMPD7Btn->setDefault(true);
|
readMPD7IdBtn->setFont(font);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7Btn);
|
readMPD7IdBtn->setDefault(true);
|
||||||
|
readMPD7IdBtn->setCursor(Qt::PointingHandCursor);
|
||||||
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7IdBtn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
|
|
||||||
aItemList.clear();
|
aItemList.clear();
|
||||||
|
@ -94,11 +102,13 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItem->setTextAlignment(Qt::AlignCenter);
|
aItem->setTextAlignment(Qt::AlignCenter);
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readPrmBtn = new QPushButton("读取PRM编号");
|
QPushButton *readPrmIdBtn = new QPushButton("读取PRM编号");
|
||||||
readPrmBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
connect(readPrmIdBtn,SIGNAL(clicked()),this,SLOT(readPrmIdHandle()),Qt::QueuedConnection);
|
||||||
readPrmBtn->setFont(font);
|
readPrmIdBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readPrmBtn->setDefault(true);
|
readPrmIdBtn->setFont(font);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmBtn);
|
readPrmIdBtn->setDefault(true);
|
||||||
|
readPrmIdBtn->setCursor(Qt::PointingHandCursor);
|
||||||
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmIdBtn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
|
|
||||||
aItemList.clear();
|
aItemList.clear();
|
||||||
|
@ -114,9 +124,11 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readMPD7DateBtn = new QPushButton("读取MPD007有效期");
|
QPushButton *readMPD7DateBtn = new QPushButton("读取MPD007有效期");
|
||||||
|
connect(readMPD7DateBtn,SIGNAL(clicked()),this,SLOT(readMPD7DateHandle()),Qt::QueuedConnection);
|
||||||
readMPD7DateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readMPD7DateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readMPD7DateBtn->setFont(font);
|
readMPD7DateBtn->setFont(font);
|
||||||
readMPD7DateBtn->setDefault(true);
|
readMPD7DateBtn->setDefault(true);
|
||||||
|
readMPD7DateBtn->setCursor(Qt::PointingHandCursor);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7DateBtn);
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readMPD7DateBtn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
|
|
||||||
|
@ -133,9 +145,11 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readPrmDateBtn = new QPushButton("读取PRM有效期");
|
QPushButton *readPrmDateBtn = new QPushButton("读取PRM有效期");
|
||||||
|
connect(readPrmDateBtn,SIGNAL(clicked()),this,SLOT(readPrmDateHandle()),Qt::QueuedConnection);
|
||||||
readPrmDateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readPrmDateBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readPrmDateBtn->setFont(font);
|
readPrmDateBtn->setFont(font);
|
||||||
readPrmDateBtn->setDefault(true);
|
readPrmDateBtn->setDefault(true);
|
||||||
|
readPrmDateBtn->setCursor(Qt::PointingHandCursor);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmDateBtn);
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readPrmDateBtn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
//多一行空白行合并,使该行变宽
|
//多一行空白行合并,使该行变宽
|
||||||
|
@ -167,9 +181,11 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readRdSnBtn = new QPushButton("读取RDSS北斗序列号");
|
QPushButton *readRdSnBtn = new QPushButton("读取RDSS北斗序列号");
|
||||||
|
connect(readRdSnBtn,SIGNAL(clicked()),this,SLOT(readRdSnHandle()),Qt::QueuedConnection);
|
||||||
readRdSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readRdSnBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readRdSnBtn->setFont(font);
|
readRdSnBtn->setFont(font);
|
||||||
readRdSnBtn->setDefault(true);
|
readRdSnBtn->setDefault(true);
|
||||||
|
readRdSnBtn->setCursor(Qt::PointingHandCursor);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readRdSnBtn);
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readRdSnBtn);
|
||||||
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
ui->tableView->setSpan(statusModel->rowCount()-1,0,1,2);
|
||||||
|
|
||||||
|
@ -187,9 +203,11 @@ StatusTestWin::StatusTestWin(QWidget *parent)
|
||||||
aItemList.append(aItem);
|
aItemList.append(aItem);
|
||||||
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
statusModel->insertRow(statusModel->rowCount(),aItemList);
|
||||||
QPushButton *readIdBtn = new QPushButton("读取北斗ID号");
|
QPushButton *readIdBtn = new QPushButton("读取北斗ID号");
|
||||||
|
connect(readIdBtn,SIGNAL(clicked()),this,SLOT(readRdSnHandle()),Qt::QueuedConnection);
|
||||||
readIdBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
readIdBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||||
readIdBtn->setFont(font);
|
readIdBtn->setFont(font);
|
||||||
readIdBtn->setDefault(true);
|
readIdBtn->setDefault(true);
|
||||||
|
readIdBtn->setCursor(Qt::PointingHandCursor);
|
||||||
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readIdBtn);
|
ui->tableView->setIndexWidget(statusModel->index(statusModel->rowCount()-1,0),readIdBtn);
|
||||||
aItemList.clear();
|
aItemList.clear();
|
||||||
aItem = new QStandardItem("");
|
aItem = new QStandardItem("");
|
||||||
|
@ -251,3 +269,159 @@ StatusTestWin::~StatusTestWin()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readRnSnHandle()
|
||||||
|
{
|
||||||
|
statusModel->item(0,2)->setText("");
|
||||||
|
QString cmd = "$CCRMO,SBX,2,0*37\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readRdSnHandle()
|
||||||
|
{
|
||||||
|
for(int i=7;i<=12;i++){
|
||||||
|
statusModel->item(i,2)->setText("");
|
||||||
|
}
|
||||||
|
QString cmd = "$CCICA,0,0*4B\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readMPD7IdHandle()
|
||||||
|
{
|
||||||
|
statusModel->item(2,2)->setText("");
|
||||||
|
QString cmd = "$CCIID*44\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readPrmIdHandle()
|
||||||
|
{
|
||||||
|
statusModel->item(3,2)->setText("");
|
||||||
|
QString cmd = "$CCPID*5D\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readMPD7DateHandle()
|
||||||
|
{
|
||||||
|
statusModel->item(4,2)->setText("");
|
||||||
|
QString cmd = "$CCRMO,ICM,2,1*38\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::readPrmDateHandle()
|
||||||
|
{
|
||||||
|
statusModel->item(5,2)->setText("");
|
||||||
|
QString cmd = "$CCRMO,PMU,2,1*37\r\n";
|
||||||
|
emit writeDataSignal(cmd.toLatin1());
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvSbxHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==7){
|
||||||
|
QString sn = paras[5];
|
||||||
|
statusModel->item(0,2)->setText(sn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvIciHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==8){
|
||||||
|
QString id = paras[0];
|
||||||
|
QString sn = paras[1];
|
||||||
|
QString brocast = paras[2];
|
||||||
|
QString freq = paras[4];
|
||||||
|
QString level = paras[5];
|
||||||
|
QString encMark = paras[6];
|
||||||
|
statusModel->item(7,2)->setText(sn);
|
||||||
|
statusModel->item(8,2)->setText(id);
|
||||||
|
statusModel->item(9,2)->setText(freq);
|
||||||
|
statusModel->item(10,2)->setText(level);
|
||||||
|
statusModel->item(11,2)->setText(brocast);
|
||||||
|
if(encMark=="E"){
|
||||||
|
statusModel->item(12,2)->setText("加密");
|
||||||
|
}else if(encMark=="N"){
|
||||||
|
statusModel->item(12,2)->setText("非密");
|
||||||
|
}else{
|
||||||
|
statusModel->item(12,2)->setText(encMark);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvPidHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==1){
|
||||||
|
QString pid = paras[0];
|
||||||
|
statusModel->item(3,2)->setText(pid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvIidHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==1){
|
||||||
|
QString iid = paras[0];
|
||||||
|
statusModel->item(2,2)->setText(iid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvIcmHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==1){
|
||||||
|
QString date = paras[0];
|
||||||
|
if(date.size()==6){
|
||||||
|
QString day = date.mid(0,2);
|
||||||
|
QString mon = date.mid(2,2);
|
||||||
|
QString year = date.mid(4,2);
|
||||||
|
statusModel->item(4,2)->setText(QString("%1年%2月%3日").arg(year,mon,day));
|
||||||
|
}else{
|
||||||
|
statusModel->item(4,2)->setText(date);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void StatusTestWin::recvPmuHandle(const QString &cmd)
|
||||||
|
{
|
||||||
|
QStringList paras = extractParaList(cmd);
|
||||||
|
if(paras.size()==3){
|
||||||
|
QString feq = paras[0];
|
||||||
|
QString startDate = paras[1];
|
||||||
|
QString endDate = paras[2];
|
||||||
|
QString feqStr;
|
||||||
|
if(feq=="3"){
|
||||||
|
feqStr = "B3";
|
||||||
|
}else if(feq=="1"){
|
||||||
|
feqStr = "B1";
|
||||||
|
}else{
|
||||||
|
feqStr = feq;
|
||||||
|
}
|
||||||
|
QString startDateStr,endDateStr;
|
||||||
|
if(startDate.size()==6){
|
||||||
|
QString day = startDate.mid(0,2);
|
||||||
|
QString mon = startDate.mid(2,2);
|
||||||
|
QString year = startDate.mid(4,2);
|
||||||
|
startDateStr = QString("%1年%2月%3日").arg(year,mon,day);
|
||||||
|
}else{
|
||||||
|
startDateStr = startDate;
|
||||||
|
}
|
||||||
|
if(endDate.size()==6){
|
||||||
|
QString day = endDate.mid(0,2);
|
||||||
|
QString mon = endDate.mid(2,2);
|
||||||
|
QString year = endDate.mid(4,2);
|
||||||
|
endDateStr = QString("%1年%2月%3日").arg(year,mon,day);
|
||||||
|
}else{
|
||||||
|
endDateStr = endDate;
|
||||||
|
}
|
||||||
|
QString tmp = QString("%1:%2——%3").arg(feqStr,startDateStr,endDateStr);
|
||||||
|
QString txt = statusModel->item(5,2)->text();
|
||||||
|
if(!txt.contains(tmp)){
|
||||||
|
if(!tmp.isEmpty()){
|
||||||
|
txt += "\n";
|
||||||
|
}
|
||||||
|
txt += tmp;
|
||||||
|
statusModel->item(5,2)->setText(txt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -80,3 +80,15 @@ void base64_decode(const unsigned char *code, int code_len, unsigned char *res,
|
||||||
res[j+2]=(((unsigned char)table[code[i+2]])<<6) | ((unsigned char)table[code[i+3]]); //取出第三个字符对应base64表的十进制数的后2位与第4个字符进行组合
|
res[j+2]=(((unsigned char)table[code[i+2]])<<6) | ((unsigned char)table[code[i+3]]); //取出第三个字符对应base64表的十进制数的后2位与第4个字符进行组合
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList extractParaList(const QString &msg)
|
||||||
|
{
|
||||||
|
QStringList paraList;
|
||||||
|
QString data = msg.simplified();
|
||||||
|
if(data.startsWith("$") && data.contains("*")){
|
||||||
|
data = data.left(data.indexOf("*"));
|
||||||
|
data = data.right(data.size()-data.indexOf(",")-1);
|
||||||
|
paraList = data.split(",");
|
||||||
|
}
|
||||||
|
return paraList;
|
||||||
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ namespace globalParams
|
||||||
extern QString classGroup;
|
extern QString classGroup;
|
||||||
extern QString bdSN;
|
extern QString bdSN;
|
||||||
extern QString marker;
|
extern QString marker;
|
||||||
|
extern QString curRnPosMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // GLOBALPARAMS_H
|
#endif // GLOBALPARAMS_H
|
||||||
|
|
|
@ -21,6 +21,12 @@ public:
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void writeDataSignal(const QByteArray &buf);
|
void writeDataSignal(const QByteArray &buf);
|
||||||
|
void recvSbxSignal(const QString &cmd);
|
||||||
|
void recvIciSignal(const QString &cmd);
|
||||||
|
void recvPidSignal(const QString &cmd);
|
||||||
|
void recvIidSignal(const QString &cmd);
|
||||||
|
void recvIcmSignal(const QString &cmd);
|
||||||
|
void recvPmuSignal(const QString &cmd);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void receiverSerialDataHandle(const QByteArray &data);
|
void receiverSerialDataHandle(const QByteArray &data);
|
||||||
|
|
|
@ -19,8 +19,8 @@ public:
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnRdTest_clicked();
|
void on_btnRdTest_clicked();
|
||||||
|
|
||||||
void on_btnRnTest_clicked();
|
void on_btnRnTest_clicked();
|
||||||
|
void view_signal_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::PosTestWin *ui;
|
Ui::PosTestWin *ui;
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef RNSIGNALPAINTER_H
|
||||||
|
#define RNSIGNALPAINTER_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class RnSignalPainter;
|
||||||
|
}
|
||||||
|
|
||||||
|
class RnSignalPainter : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit RnSignalPainter(QWidget *parent = nullptr);
|
||||||
|
~RnSignalPainter();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::RnSignalPainter *ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // RNSIGNALPAINTER_H
|
|
@ -17,6 +17,23 @@ public:
|
||||||
explicit StatusTestWin(QWidget *parent = nullptr);
|
explicit StatusTestWin(QWidget *parent = nullptr);
|
||||||
~StatusTestWin();
|
~StatusTestWin();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void writeDataSignal(const QByteArray &buf);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void readRnSnHandle();
|
||||||
|
void readRdSnHandle();
|
||||||
|
void readMPD7IdHandle();
|
||||||
|
void readPrmIdHandle();
|
||||||
|
void readMPD7DateHandle();
|
||||||
|
void readPrmDateHandle();
|
||||||
|
void recvSbxHandle(const QString &cmd);
|
||||||
|
void recvIciHandle(const QString &cmd);
|
||||||
|
void recvPidHandle(const QString &cmd);
|
||||||
|
void recvIidHandle(const QString &cmd);
|
||||||
|
void recvIcmHandle(const QString &cmd);
|
||||||
|
void recvPmuHandle(const QString &cmd);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::StatusTestWin *ui;
|
Ui::StatusTestWin *ui;
|
||||||
QStandardItemModel *statusModel;
|
QStandardItemModel *statusModel;
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
#ifndef UTILS_H
|
#ifndef UTILS_H
|
||||||
#define UTILS_H
|
#define UTILS_H
|
||||||
|
|
||||||
|
#include <QStringList>
|
||||||
|
|
||||||
void base64_encode(const unsigned char *str,int str_len,unsigned char *res,int *res_len);
|
void base64_encode(const unsigned char *str,int str_len,unsigned char *res,int *res_len);
|
||||||
|
|
||||||
void base64_decode(const unsigned char *code,int code_len,unsigned char *res,int *res_len);
|
void base64_decode(const unsigned char *code,int code_len,unsigned char *res,int *res_len);
|
||||||
|
|
||||||
|
QStringList extractParaList(const QString &msg);
|
||||||
|
|
||||||
#endif // UTILS_H
|
#endif // UTILS_H
|
||||||
|
|
|
@ -79,6 +79,9 @@
|
||||||
<height>40</height>
|
<height>40</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>CAN口检测</string>
|
<string>CAN口检测</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -199,6 +202,9 @@
|
||||||
<height>40</height>
|
<height>40</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>串口检测</string>
|
<string>串口检测</string>
|
||||||
</property>
|
</property>
|
||||||
|
|
|
@ -153,7 +153,7 @@ border:none;
|
||||||
}</string>
|
}</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>4</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tabMsgInput">
|
<widget class="QWidget" name="tabMsgInput">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
|
|
@ -164,7 +164,7 @@
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCustomPlot" name="widget" native="true">
|
<widget class="RnSignalPainter" name="widget" native="true">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
|
@ -348,9 +348,9 @@
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QCustomPlot</class>
|
<class>RnSignalPainter</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header location="global">qcustomplot.h</header>
|
<header location="global">rnSignalPainter.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>RnSignalPainter</class>
|
||||||
|
<widget class="QWidget" name="RnSignalPainter">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
Reference in New Issue