add rn signal paint
This commit is contained in:
parent
9b5e481c9e
commit
840846982d
|
@ -32,7 +32,8 @@ SOURCES += \
|
|||
src/cpp/statusTestWin.cpp \
|
||||
src/cpp/precisionTestWin.cpp \
|
||||
src/cpp/testThread.cpp \
|
||||
src/cpp/rnSignalPainter.cpp
|
||||
src/cpp/rnSignalPainter.cpp \
|
||||
src/cpp/rdSignalPainter.cpp
|
||||
|
||||
HEADERS += \
|
||||
src/include/posTestWin.h \
|
||||
|
@ -43,6 +44,7 @@ HEADERS += \
|
|||
src/include/msgInputWin.h \
|
||||
src/include/precisionTestWin.h \
|
||||
src/include/qcustomplot.h \
|
||||
src/include/rdSignalPainter.h \
|
||||
src/include/rnSignalPainter.h \
|
||||
src/include/serialport.h \
|
||||
src/include/sqlitedb.h \
|
||||
|
@ -52,6 +54,7 @@ HEADERS += \
|
|||
src/include/utils.h
|
||||
|
||||
FORMS += \
|
||||
src/ui/rdSignalPainter.ui \
|
||||
src/ui/rnSignalPainter.ui \
|
||||
src/ui/precisionTestWin.ui \
|
||||
src/ui/posTestWin.ui \
|
||||
|
|
|
@ -127,6 +127,12 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
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);
|
||||
|
||||
//定位检测
|
||||
connect(ui->posTestWdg,SIGNAL(writeDataSignal(QByteArray)),this,SIGNAL(writeDataSignal(QByteArray)),Qt::QueuedConnection);
|
||||
connect(this,SIGNAL(recvBidSignal(QString)),ui->posTestWdg,SLOT(recvBidHandle(QString)),Qt::QueuedConnection);
|
||||
connect(this,SIGNAL(recvGsvSignal(QString)),ui->posTestWdg,SIGNAL(recvGsvSignal(QString)),Qt::QueuedConnection);
|
||||
connect(this,SIGNAL(recvGgaSignal(QString)),ui->posTestWdg,SLOT(recvGgaHandle(QString)),Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
|
@ -177,6 +183,12 @@ void MainWindow::receiverSerialDataHandle(const QByteArray &data)
|
|||
emit recvIcmSignal(cmd);
|
||||
}else if(cmd.startsWith("$BDPMU")){
|
||||
emit recvPmuSignal(cmd);
|
||||
}else if(cmd.startsWith("$BDBID")){
|
||||
emit recvBidSignal(cmd);
|
||||
}else if(cmd.startsWith("$BDGSV") || cmd.startsWith("$GPGSV") || cmd.startsWith("$GBGSV")){
|
||||
emit recvGsvSignal(cmd);
|
||||
}else if(cmd.contains(QRegularExpression("^[$][A-Z]{2}GGA"))){
|
||||
emit recvGgaSignal(cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "posTestWin.h"
|
||||
#include "ui_posTestWin.h"
|
||||
#include "utils.h"
|
||||
#include "globalParams.h"
|
||||
#include <QPushButton>
|
||||
#include <qDebug>
|
||||
|
||||
|
@ -13,6 +15,8 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
ui->gpbRnTest->setVisible(true);
|
||||
ui->gpbRnSignal->setVisible(false);
|
||||
|
||||
connect(this,SIGNAL(recvGsvSignal(QString)),ui->rnSignalPainterWdg,SLOT(recvGsvHandle(QString)),Qt::QueuedConnection);
|
||||
|
||||
rnModel = new QStandardItemModel(this);
|
||||
rnSelect = new QItemSelectionModel(rnModel);
|
||||
rnModel->setColumnCount(10);
|
||||
|
@ -41,7 +45,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
QFont font = ui->tableViewRn->font();
|
||||
font.setBold(true);
|
||||
QFont smallFont = font;
|
||||
smallFont.setPointSize(font.pointSize()-2);
|
||||
//smallFont.setPointSize(font.pointSize()-2);
|
||||
smallFont.setBold(false);
|
||||
|
||||
QList<QStandardItem *> aItemList;
|
||||
|
@ -79,43 +83,57 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
b1cBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
b1cBtn->setFont(smallFont);
|
||||
b1cBtn->setDefault(true);
|
||||
b1cBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(2,0),b1cBtn);
|
||||
connect(b1cBtn,SIGNAL(clicked()),this,SLOT(b1cBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *b3cBtn = new QPushButton("B3频点C码定位");
|
||||
b3cBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
b3cBtn->setFont(smallFont);
|
||||
b3cBtn->setDefault(true);
|
||||
b3cBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(3,0),b3cBtn);
|
||||
connect(b3cBtn,SIGNAL(clicked()),this,SLOT(b3cBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *b1b3cBtn = new QPushButton("B1+B3频点C码定位");
|
||||
b1b3cBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
b1b3cBtn->setFont(smallFont);
|
||||
b1b3cBtn->setDefault(true);
|
||||
b1b3cBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(4,0),b1b3cBtn);
|
||||
connect(b1b3cBtn,SIGNAL(clicked()),this,SLOT(b1b3cBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *gpsBtn = new QPushButton("GPS频点C码定位");
|
||||
gpsBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
gpsBtn->setFont(smallFont);
|
||||
gpsBtn->setDefault(true);
|
||||
gpsBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(5,0),gpsBtn);
|
||||
connect(gpsBtn,SIGNAL(clicked()),this,SLOT(gpsBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *b1pBtn = new QPushButton("B1频点P码定位");
|
||||
b1pBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
b1pBtn->setFont(smallFont);
|
||||
b1pBtn->setDefault(true);
|
||||
b1pBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(6,0),b1pBtn);
|
||||
connect(b1pBtn,SIGNAL(clicked()),this,SLOT(b1pBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *b3pBtn = new QPushButton("B3频点P码定位");
|
||||
b3pBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
b3pBtn->setFont(smallFont);
|
||||
b3pBtn->setDefault(true);
|
||||
b3pBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(7,0),b3pBtn);
|
||||
connect(b3pBtn,SIGNAL(clicked()),this,SLOT(b3pBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
QPushButton *compatibleBtn = new QPushButton("兼容定位");
|
||||
compatibleBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
compatibleBtn->setFont(smallFont);
|
||||
compatibleBtn->setDefault(true);
|
||||
compatibleBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(8,0),compatibleBtn);
|
||||
connect(compatibleBtn,SIGNAL(clicked()),this,SLOT(compatibleBtn_clicked()),Qt::QueuedConnection);
|
||||
|
||||
rnModel->item(0,2)->setText("定位结果");
|
||||
rnModel->item(0,2)->setFont(font);
|
||||
|
@ -156,6 +174,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewB1CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewB1CBtn->setFont(smallFont);
|
||||
viewB1CBtn->setDefault(true);
|
||||
viewB1CBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(2,10),viewB1CBtn);
|
||||
connect(viewB1CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -163,6 +182,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewB3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewB3CBtn->setFont(smallFont);
|
||||
viewB3CBtn->setDefault(true);
|
||||
viewB3CBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(3,10),viewB3CBtn);
|
||||
connect(viewB3CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -170,6 +190,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewB1B3CBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewB1B3CBtn->setFont(smallFont);
|
||||
viewB1B3CBtn->setDefault(true);
|
||||
viewB1B3CBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(4,10),viewB1B3CBtn);
|
||||
connect(viewB1B3CBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -177,6 +198,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewGPSBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewGPSBtn->setFont(smallFont);
|
||||
viewGPSBtn->setDefault(true);
|
||||
viewGPSBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(5,10),viewGPSBtn);
|
||||
connect(viewGPSBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -184,6 +206,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewB1PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewB1PBtn->setFont(smallFont);
|
||||
viewB1PBtn->setDefault(true);
|
||||
viewB1PBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(6,10),viewB1PBtn);
|
||||
connect(viewB1PBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -191,6 +214,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewB3PBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewB3PBtn->setFont(smallFont);
|
||||
viewB3PBtn->setDefault(true);
|
||||
viewB3PBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(7,10),viewB3PBtn);
|
||||
connect(viewB3PBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -198,6 +222,7 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
viewCompatibleBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
viewCompatibleBtn->setFont(smallFont);
|
||||
viewCompatibleBtn->setDefault(true);
|
||||
viewCompatibleBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRn->setIndexWidget(rnModel->index(8,10),viewCompatibleBtn);
|
||||
connect(viewCompatibleBtn,SIGNAL(clicked()),this,SLOT(view_signal_clicked()),Qt::QueuedConnection);
|
||||
|
||||
|
@ -209,24 +234,28 @@ PosTestWin::PosTestWin(QWidget *parent)
|
|||
rdPosBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
rdPosBtn->setFont(font);
|
||||
rdPosBtn->setDefault(true);
|
||||
rdPosBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRd->setIndexWidget(rdModel->index(2,0),rdPosBtn);
|
||||
|
||||
QPushButton *rdContinuePosBtn = new QPushButton("RDSS连续定位");
|
||||
rdContinuePosBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
rdContinuePosBtn->setFont(font);
|
||||
rdContinuePosBtn->setDefault(true);
|
||||
rdContinuePosBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRd->setIndexWidget(rdModel->index(3,0),rdContinuePosBtn);
|
||||
|
||||
QPushButton *rdEmergencyPosBtn = new QPushButton("RDSS紧急定位");
|
||||
rdEmergencyPosBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
rdEmergencyPosBtn->setFont(font);
|
||||
rdEmergencyPosBtn->setDefault(true);
|
||||
rdEmergencyPosBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRd->setIndexWidget(rdModel->index(4,0),rdEmergencyPosBtn);
|
||||
|
||||
QPushButton *rdStopContinuePosBtn = new QPushButton("结束RDSS连续定位");
|
||||
rdStopContinuePosBtn->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
|
||||
rdStopContinuePosBtn->setFont(font);
|
||||
rdStopContinuePosBtn->setDefault(true);
|
||||
rdStopContinuePosBtn->setCursor(Qt::PointingHandCursor);
|
||||
ui->tableViewRd->setIndexWidget(rdModel->index(5,0),rdStopContinuePosBtn);
|
||||
|
||||
rdModel->item(0,2)->setText("定位结果");
|
||||
|
@ -251,6 +280,127 @@ PosTestWin::~PosTestWin()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void PosTestWin::recvBidHandle(const QString &cmd)
|
||||
{
|
||||
QStringList paras = extractParaList(cmd);
|
||||
if(paras.size()==2){
|
||||
QString mode = paras[0];
|
||||
QString code = paras[1];
|
||||
if(mode=="1"){
|
||||
globalParams::curRnPosMode = "B3"+code;
|
||||
}else if(mode=="2"){
|
||||
globalParams::curRnPosMode = QString("B1%1+B3%2").arg(code,code);
|
||||
}else if(mode=="3"){
|
||||
globalParams::curRnPosMode = "B1"+code;
|
||||
}else if(mode=="5"){
|
||||
globalParams::curRnPosMode = "L1"+code;
|
||||
}else if(mode=="8"){
|
||||
globalParams::curRnPosMode = QString("B3%1+L1%2").arg(code,code);;
|
||||
}else{
|
||||
globalParams::curRnPosMode = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PosTestWin::recvGgaHandle(const QString &cmd)
|
||||
{
|
||||
QStringList paras = extractParaList(cmd);
|
||||
if(paras.size()<14){
|
||||
return;
|
||||
}
|
||||
QString time = paras[0];
|
||||
bool ok;
|
||||
QString lat = paras[1];
|
||||
double dlat = lat.toDouble(&ok);
|
||||
QString latitude,longitude,altitude;
|
||||
if(ok){
|
||||
dlat = degreeSecond2degree(dlat);
|
||||
latitude = QString("%1°").arg(dlat,0,'f',8,QChar('0'));
|
||||
}else{
|
||||
latitude = "";
|
||||
}
|
||||
|
||||
QString lon = paras[3];
|
||||
double dlon = lon.toDouble(&ok);
|
||||
if(ok){
|
||||
dlon = degreeSecond2degree(dlon);
|
||||
longitude = QString("%1°").arg(dlon,0,'f',8,QChar('0'));
|
||||
}else{
|
||||
longitude = "";
|
||||
}
|
||||
if(longitude.size()>latitude.size()){
|
||||
while (longitude.size()>latitude.size()) {
|
||||
latitude.append(" ");
|
||||
}
|
||||
}else if(longitude.size()<latitude.size()){
|
||||
while (longitude.size()<latitude.size()) {
|
||||
longitude.append(" ");
|
||||
}
|
||||
}
|
||||
if(!latitude.isEmpty()){
|
||||
latitude.append(paras[2]);
|
||||
}
|
||||
if(!longitude.isEmpty()){
|
||||
longitude.append(paras[4]);
|
||||
}
|
||||
QString high = paras[8];
|
||||
float fhigh = high.toFloat(&ok);
|
||||
if(ok){
|
||||
fhigh = fhigh + paras[10].toFloat();
|
||||
altitude = QString("%1 m").arg(fhigh,0,'f',4,QChar('0'));
|
||||
}else{
|
||||
altitude = "";
|
||||
}
|
||||
|
||||
QString status = paras[5];
|
||||
|
||||
QString satelliteCounts = paras[6];
|
||||
QString hdop = paras[7];
|
||||
QString vdop;
|
||||
if(paras.size()>=15){
|
||||
vdop = paras[14];
|
||||
}
|
||||
|
||||
int row = -1;
|
||||
if(globalParams::curRnPosMode=="B1C"){
|
||||
row = 2;
|
||||
}else if(globalParams::curRnPosMode=="B3C"){
|
||||
row = 3;
|
||||
}else if(globalParams::curRnPosMode=="B1C+B3C"){
|
||||
row = 4;
|
||||
}else if(globalParams::curRnPosMode=="L1C"){
|
||||
row = 5;
|
||||
}else if(globalParams::curRnPosMode=="B1P"){
|
||||
row = 6;
|
||||
}else if(globalParams::curRnPosMode=="B3P"){
|
||||
row = 7;
|
||||
}else if(globalParams::curRnPosMode=="B3C+L1C"){
|
||||
row = 8;
|
||||
}
|
||||
|
||||
if(status.toInt()!=0){
|
||||
if(row >=0){
|
||||
rnModel->item(row,2)->setText(time);
|
||||
rnModel->item(row,3)->setText(longitude);
|
||||
rnModel->item(row,4)->setText(latitude);
|
||||
rnModel->item(row,5)->setText(altitude);
|
||||
rnModel->item(row,7)->setText(vdop);
|
||||
rnModel->item(row,8)->setText(hdop);
|
||||
rnModel->item(row,9)->setText(satelliteCounts);
|
||||
}
|
||||
}else{
|
||||
if(row >=0){
|
||||
rnModel->item(row,2)->setText("");
|
||||
rnModel->item(row,3)->setText("");
|
||||
rnModel->item(row,4)->setText("");
|
||||
rnModel->item(row,5)->setText("");
|
||||
rnModel->item(row,7)->setText("");
|
||||
rnModel->item(row,8)->setText("");
|
||||
rnModel->item(row,9)->setText("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PosTestWin::on_btnRdTest_clicked()
|
||||
{
|
||||
ui->gpbRdTest->setVisible(true);
|
||||
|
@ -273,3 +423,138 @@ void PosTestWin::view_signal_clicked()
|
|||
ui->gpbRnSignal->setVisible(true);
|
||||
}
|
||||
|
||||
void PosTestWin::on_btnBack_clicked()
|
||||
{
|
||||
ui->gpbRdTest->setVisible(false);
|
||||
ui->gpbRnTest->setVisible(true);
|
||||
ui->gpbRnSignal->setVisible(false);
|
||||
}
|
||||
|
||||
void PosTestWin::b1cBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(2,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(2);
|
||||
enableOnlyOneViewBtn(2);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B1,C,,,,*16\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::b3cBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(3,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(3);
|
||||
enableOnlyOneViewBtn(3);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B3,C,,,,*14\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::b1b3cBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(4,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(4);
|
||||
enableOnlyOneViewBtn(4);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B3,C,B1,C,,*24\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::gpsBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(5,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(5);
|
||||
enableOnlyOneViewBtn(5);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,L1,C,,,,*18\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::b1pBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(6,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(6);
|
||||
enableOnlyOneViewBtn(6);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B1,P,,,,*05\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::b3pBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(7,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(7);
|
||||
enableOnlyOneViewBtn(7);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B3,P,,,,*07\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::compatibleBtn_clicked()
|
||||
{
|
||||
for(int i=2;i<=9;i++){
|
||||
rnModel->item(8,i)->setText("");
|
||||
}
|
||||
ui->tableViewRn->selectRow(8);
|
||||
enableOnlyOneViewBtn(8);
|
||||
|
||||
QString cmd = "$CCMSS,Z,1,B3,C,L1,C,,*2A\r\n";
|
||||
emit writeDataSignal(cmd.toLatin1());
|
||||
}
|
||||
|
||||
void PosTestWin::enableOnlyOneViewBtn(int row)
|
||||
{
|
||||
QPushButton *viewB1CBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(2,10)));
|
||||
QPushButton *viewB3CBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(3,10)));
|
||||
QPushButton *viewB1B3CBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(4,10)));
|
||||
QPushButton *viewGPSBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(5,10)));
|
||||
QPushButton *viewB1PBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(6,10)));
|
||||
QPushButton *viewB3PBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(7,10)));
|
||||
QPushButton *viewCompatibleBtn = qobject_cast<QPushButton *>(ui->tableViewRn->indexWidget(rnModel->index(8,10)));
|
||||
viewB1CBtn->setEnabled(false);
|
||||
viewB3CBtn->setEnabled(false);
|
||||
viewB1B3CBtn->setEnabled(false);
|
||||
viewGPSBtn->setEnabled(false);
|
||||
viewB1PBtn->setEnabled(false);
|
||||
viewB3PBtn->setEnabled(false);
|
||||
viewCompatibleBtn->setEnabled(false);
|
||||
switch (row) {
|
||||
case 2:
|
||||
viewB1CBtn->setEnabled(true);
|
||||
break;
|
||||
case 3:
|
||||
viewB3CBtn->setEnabled(true);
|
||||
break;
|
||||
case 4:
|
||||
viewB1B3CBtn->setEnabled(true);
|
||||
break;
|
||||
case 5:
|
||||
viewGPSBtn->setEnabled(true);
|
||||
break;
|
||||
case 6:
|
||||
viewB1PBtn->setEnabled(true);
|
||||
break;
|
||||
case 7:
|
||||
viewB3PBtn->setEnabled(true);
|
||||
break;
|
||||
case 8:
|
||||
viewCompatibleBtn->setEnabled(true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#include "rdSignalPainter.h"
|
||||
#include "ui_rdSignalPainter.h"
|
||||
|
||||
RdSignalPainter::RdSignalPainter(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::RdSignalPainter)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
RdSignalPainter::~RdSignalPainter()
|
||||
{
|
||||
delete ui;
|
||||
}
|
|
@ -1,13 +1,20 @@
|
|||
#include "rnSignalPainter.h"
|
||||
#include "ui_rnSignalPainter.h"
|
||||
#include "globalParams.h"
|
||||
#include "utils.h"
|
||||
#include <QPainter>
|
||||
#include <QDebug>
|
||||
|
||||
RnSignalPainter::RnSignalPainter(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::RnSignalPainter)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
timerSnrTimeout = new QTimer(this);
|
||||
timerSnrTimeout->stop();
|
||||
timerSnrTimeout->setInterval(2000);
|
||||
connect(timerSnrTimeout,SIGNAL(timeout()),this,SLOT(timerSnrTimeoutHandle()),Qt::QueuedConnection);
|
||||
timerSnrTimeout->start();
|
||||
}
|
||||
|
||||
RnSignalPainter::~RnSignalPainter()
|
||||
|
@ -15,6 +22,62 @@ RnSignalPainter::~RnSignalPainter()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void RnSignalPainter::recvGsvHandle(const QString &cmd)
|
||||
{
|
||||
QString sys;
|
||||
sys = cmd.mid(1,2);
|
||||
if(sys=="GB"){
|
||||
sys = "BD";
|
||||
}
|
||||
QStringList paras = extractParaList(cmd);
|
||||
if(paras.size()<3){
|
||||
return;
|
||||
}
|
||||
|
||||
QString feq = "";
|
||||
if(paras.size()%4==0){
|
||||
feq = paras[paras.size()-1];
|
||||
}
|
||||
|
||||
for(int i=0;i<(paras.size()-3)/4;i++){
|
||||
QString satNum = paras[3+i*4].trimmed();
|
||||
QString cnr = paras[3+i*4+3].trimmed();
|
||||
|
||||
if(satNum.isEmpty() || cnr.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
|
||||
QPair<QString,QString> key(satNum,feq);
|
||||
if(sys=="GP"){
|
||||
gpsSnrMap[key] = cnr;
|
||||
gpsTimeoutCountMap[key] = 0;
|
||||
}else if(sys=="BD"){
|
||||
bdSnrMap[key] = cnr;
|
||||
bdsTimeoutCountMap[key] = 0;
|
||||
}
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
void RnSignalPainter::timerSnrTimeoutHandle()
|
||||
{
|
||||
for(QPair<QString,QString> key:gpsTimeoutCountMap.keys()){
|
||||
gpsTimeoutCountMap[key]++;
|
||||
if(gpsTimeoutCountMap[key]>=2){
|
||||
gpsSnrMap.remove(key);
|
||||
gpsTimeoutCountMap.remove(key);
|
||||
}
|
||||
}
|
||||
for(QPair<QString,QString> key:bdsTimeoutCountMap.keys()){
|
||||
bdsTimeoutCountMap[key]++;
|
||||
if(bdsTimeoutCountMap[key]>=2){
|
||||
bdSnrMap.remove(key);
|
||||
bdsTimeoutCountMap.remove(key);
|
||||
}
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
void RnSignalPainter::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
QPainter painter(this);
|
||||
|
@ -25,20 +88,116 @@ void RnSignalPainter::paintEvent(QPaintEvent *event)
|
|||
pen.setColor(Qt::black);
|
||||
pen.setStyle(Qt::SolidLine);
|
||||
painter.setPen(pen);
|
||||
QBrush brush;
|
||||
brush.setStyle(Qt::SolidPattern);
|
||||
|
||||
int H=this->height(); //绘图区高度
|
||||
int H = this->height(); //绘图区高度
|
||||
int W = this->width();
|
||||
|
||||
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));
|
||||
QString posMode;
|
||||
if(globalParams::curRnPosMode=="B3C"){
|
||||
posMode = "B3频点C码定位";
|
||||
}else if(globalParams::curRnPosMode=="B3P"){
|
||||
posMode = "B3频点P码定位";
|
||||
}else if(globalParams::curRnPosMode=="B1C+B3C"){
|
||||
posMode = "B1+B3频点C码定位";
|
||||
}else if(globalParams::curRnPosMode=="B1P+B3P"){
|
||||
posMode = "B1+B3频点P码定位";
|
||||
}else if(globalParams::curRnPosMode=="B1C"){
|
||||
posMode = "B1频点C码定位";
|
||||
}else if(globalParams::curRnPosMode=="B1P"){
|
||||
posMode = "B1频点P码定位";
|
||||
}else if(globalParams::curRnPosMode=="L1C"){
|
||||
posMode = "GPS频点C码定位";
|
||||
}else if(globalParams::curRnPosMode=="B3C+L1C"){
|
||||
posMode = "兼容定位";
|
||||
}else{
|
||||
posMode = globalParams::curRnPosMode;
|
||||
}
|
||||
painter.drawText(margin,margin+fontMetrics.ascent(),QString("当前定位模式:%1").arg(posMode));
|
||||
|
||||
|
||||
//BD坐标轴
|
||||
int yb0 = (H-margin*2)/2-margin-fontMetrics.height();
|
||||
QString tmp = "北斗卫星信号";
|
||||
int xb0 = margin*2 + fontMetrics.horizontalAdvance(tmp);
|
||||
int hb = yb0 - margin*2 - fontMetrics.height()*2;
|
||||
int wb = W - margin*2 - fontMetrics.horizontalAdvance(tmp);
|
||||
painter.drawText(margin,yb0-hb/2,tmp);
|
||||
painter.drawLine(xb0,yb0,xb0+wb,yb0);
|
||||
painter.drawLine(xb0,yb0,xb0,yb0-hb);
|
||||
//GP坐标轴
|
||||
int yg0 = H-margin-fontMetrics.height();
|
||||
tmp = "GPS卫星信号";
|
||||
int xg0 = xb0;
|
||||
int hg = hb;
|
||||
int wg = wb;
|
||||
painter.drawText(margin,yg0-hg/2,tmp);
|
||||
painter.drawLine(xg0,yg0,xg0+wg,yg0);
|
||||
painter.drawLine(xg0,yg0,xg0,yg0-hg);
|
||||
|
||||
//坐标轴
|
||||
int sw = fontMetrics.horizontalAdvance("00.0");
|
||||
|
||||
//BD信号
|
||||
int xb = xb0+margin;
|
||||
for(const QPair<QString,QString> &key:bdSnrMap.keys()){
|
||||
double strength = bdSnrMap.value(key).toDouble();
|
||||
QString satNum = key.first;
|
||||
QString feq = key.second;
|
||||
int red = 255 - feq.toInt(nullptr,16)*10;
|
||||
QColor color = QColor(red,0,0);
|
||||
brush.setColor(color);
|
||||
painter.setBrush(brush);
|
||||
|
||||
xb = xb + margin;
|
||||
|
||||
int w0 = fontMetrics.horizontalAdvance(satNum);//宽度
|
||||
painter.drawText(xb+(sw-w0)/2,yb0+fontMetrics.ascent(),satNum);
|
||||
|
||||
//int h = std::min(strength,50.0);
|
||||
int h = std::min(hb/50.0*strength,hb*1.0);
|
||||
int y = yb0-h;
|
||||
QRect rect(xb,y,sw,h);
|
||||
painter.drawRect(rect);
|
||||
|
||||
QString str = QString("%1").arg(strength,0,'g',3);
|
||||
int w1 = fontMetrics.horizontalAdvance(str);//宽度
|
||||
painter.drawText(xb+(sw-w1)/2,y-margin/2-fontMetrics.descent(),str);
|
||||
xb = xb + sw;
|
||||
}
|
||||
|
||||
//GPS信号
|
||||
int xg = xb0+margin;
|
||||
for(const QPair<QString,QString> &key:gpsSnrMap.keys()){
|
||||
double strength = gpsSnrMap.value(key).toDouble();
|
||||
QString satNum = key.first;
|
||||
QString feq = key.second;
|
||||
int green = 255 - feq.toInt(nullptr,16)*10;
|
||||
QColor color = QColor(0,green,0);
|
||||
brush.setColor(color);
|
||||
painter.setBrush(brush);
|
||||
|
||||
xg = xg + margin;
|
||||
|
||||
int w0 = fontMetrics.horizontalAdvance(satNum);//宽度
|
||||
painter.drawText(xg+(sw-w0)/2,yg0+fontMetrics.ascent(),satNum);
|
||||
|
||||
//int h = std::min(strength,50.0);
|
||||
int h = std::min(hb/50.0*strength,hg*1.0);
|
||||
int y = yg0-h;
|
||||
QRect rect(xg,y,sw,h);
|
||||
painter.drawRect(rect);
|
||||
|
||||
QString str = QString("%1").arg(strength,0,'g',3);
|
||||
int w1 = fontMetrics.horizontalAdvance(str);//宽度
|
||||
painter.drawText(xg+(sw-w1)/2,y-margin/2-fontMetrics.descent(),str);
|
||||
xg = xg + sw;
|
||||
}
|
||||
|
||||
return QWidget::paintEvent(event);
|
||||
}
|
||||
|
|
|
@ -92,3 +92,11 @@ QStringList extractParaList(const QString &msg)
|
|||
}
|
||||
return paraList;
|
||||
}
|
||||
|
||||
double degreeSecond2degree(double degreeSecond)
|
||||
{
|
||||
double degree = floor(degreeSecond/100);
|
||||
double second = degreeSecond - degree*100;
|
||||
double result = degree + second/60;
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,9 @@ signals:
|
|||
void recvIidSignal(const QString &cmd);
|
||||
void recvIcmSignal(const QString &cmd);
|
||||
void recvPmuSignal(const QString &cmd);
|
||||
void recvBidSignal(const QString &cmd);
|
||||
void recvGsvSignal(const QString &cmd);
|
||||
void recvGgaSignal(const QString &cmd);
|
||||
|
||||
private slots:
|
||||
void receiverSerialDataHandle(const QByteArray &data);
|
||||
|
|
|
@ -17,10 +17,24 @@ public:
|
|||
explicit PosTestWin(QWidget *parent = nullptr);
|
||||
~PosTestWin();
|
||||
|
||||
signals:
|
||||
void writeDataSignal(const QByteArray &buf);
|
||||
void recvGsvSignal(const QString &cmd);
|
||||
|
||||
private slots:
|
||||
void recvBidHandle(const QString &cmd);
|
||||
void recvGgaHandle(const QString &cmd);
|
||||
void on_btnRdTest_clicked();
|
||||
void on_btnRnTest_clicked();
|
||||
void on_btnBack_clicked();
|
||||
void view_signal_clicked();
|
||||
void b1cBtn_clicked();
|
||||
void b3cBtn_clicked();
|
||||
void b1b3cBtn_clicked();
|
||||
void gpsBtn_clicked();
|
||||
void b1pBtn_clicked();
|
||||
void b3pBtn_clicked();
|
||||
void compatibleBtn_clicked();
|
||||
|
||||
private:
|
||||
Ui::PosTestWin *ui;
|
||||
|
@ -28,6 +42,7 @@ private:
|
|||
QItemSelectionModel *rnSelect;
|
||||
QStandardItemModel *rdModel;
|
||||
QItemSelectionModel *rdSelect;
|
||||
void enableOnlyOneViewBtn(int row);
|
||||
};
|
||||
|
||||
#endif // POSTESTWIN_H
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef RDSIGNALPAINTER_H
|
||||
#define RDSIGNALPAINTER_H
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace Ui {
|
||||
class RdSignalPainter;
|
||||
}
|
||||
|
||||
class RdSignalPainter : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit RdSignalPainter(QWidget *parent = nullptr);
|
||||
~RdSignalPainter();
|
||||
|
||||
private:
|
||||
Ui::RdSignalPainter *ui;
|
||||
};
|
||||
|
||||
#endif // RDSIGNALPAINTER_H
|
|
@ -2,6 +2,8 @@
|
|||
#define RNSIGNALPAINTER_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QMap>
|
||||
#include <QTimer>
|
||||
|
||||
namespace Ui {
|
||||
class RnSignalPainter;
|
||||
|
@ -15,11 +17,20 @@ public:
|
|||
explicit RnSignalPainter(QWidget *parent = nullptr);
|
||||
~RnSignalPainter();
|
||||
|
||||
private slots:
|
||||
void recvGsvHandle(const QString &cmd);
|
||||
void timerSnrTimeoutHandle();
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||
|
||||
private:
|
||||
Ui::RnSignalPainter *ui;
|
||||
QTimer *timerSnrTimeout;
|
||||
QMap<QPair<QString,QString>,QString> bdSnrMap;
|
||||
QMap<QPair<QString,QString>,QString> gpsSnrMap;
|
||||
QMap<QPair<QString,QString>,int> gpsTimeoutCountMap;
|
||||
QMap<QPair<QString,QString>,int> bdsTimeoutCountMap;
|
||||
};
|
||||
|
||||
#endif // RNSIGNALPAINTER_H
|
||||
|
|
|
@ -9,4 +9,6 @@ void base64_decode(const unsigned char *code,int code_len,unsigned char *res,int
|
|||
|
||||
QStringList extractParaList(const QString &msg);
|
||||
|
||||
double degreeSecond2degree(double degreeSecond);
|
||||
|
||||
#endif // UTILS_H
|
||||
|
|
|
@ -25,6 +25,32 @@
|
|||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTableView" name="tableViewRn">
|
||||
<property name="palette">
|
||||
<palette>
|
||||
<active/>
|
||||
<inactive>
|
||||
<colorrole role="Highlight">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>0</red>
|
||||
<green>120</green>
|
||||
<blue>215</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
<colorrole role="HighlightedText">
|
||||
<brush brushstyle="SolidPattern">
|
||||
<color alpha="255">
|
||||
<red>255</red>
|
||||
<green>255</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</brush>
|
||||
</colorrole>
|
||||
</inactive>
|
||||
<disabled/>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QTableView
|
||||
{
|
||||
|
@ -81,6 +107,9 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRnAutoTest">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>自动测试</string>
|
||||
</property>
|
||||
|
@ -104,6 +133,9 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnSave">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>保存</string>
|
||||
</property>
|
||||
|
@ -127,6 +159,9 @@
|
|||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRdTest">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RDSS定位测试</string>
|
||||
</property>
|
||||
|
@ -164,7 +199,7 @@
|
|||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="RnSignalPainter" name="widget" native="true">
|
||||
<widget class="RnSignalPainter" name="rnSignalPainterWdg" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
|
@ -173,6 +208,66 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>174</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnBack">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>返回</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -184,11 +279,11 @@
|
|||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,2">
|
||||
<item>
|
||||
<widget class="QWidget" name="widget_2" native="true"/>
|
||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QWidget" name="rdSignalPainterWdg" native="true"/>
|
||||
</item>
|
||||
<item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QGroupBox{border:none;}</string>
|
||||
|
@ -202,6 +297,9 @@
|
|||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
|
@ -251,89 +349,82 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRdAutoTest">
|
||||
<property name="text">
|
||||
<string>自动测试</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRnTest">
|
||||
<property name="text">
|
||||
<string>RNSS定位测试</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<spacer name="horizontalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRdAutoTest">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>自动测试</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnRnTest">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>RNSS定位测试</string>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>RdSignalPainter</class>
|
||||
<widget class="QWidget" name="RdSignalPainter">
|
||||
<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