#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); this->setWindowTitle("蓝方模型创建及雷达信号模拟生成软件"); //radarServer = new RadarServer(this, 1234); radarServerThread = new QThread(this); radarSigGenThread = new QThread(this); tableview = new QStandardItemModel; tableview->setHorizontalHeaderItem(0,new QStandardItem("雷达编号")); tableview->setHorizontalHeaderItem(1,new QStandardItem("工作状态")); tableview->setHorizontalHeaderItem(2,new QStandardItem("信号类型")); tableview->setHorizontalHeaderItem(3,new QStandardItem("载波频率")); rows = 0; radarServer = new RadarServer(); radarSigGen = new RadarSigGen(); radarServer->moveToThread(radarServerThread); radarSigGen->moveToThread(radarSigGenThread); connect(radarServer,SIGNAL(SigRadarGen(int)),radarSigGen,SLOT(SlotRadarGen(int))); radarServerThread->start(); radarSigGenThread->start(); ui->lineEdit_sigType->setText(QString::fromStdString("相位编码")); ui->lineEdit_fc->setText(QString::number(1e9,'f',2)); ui->lineEdit_T->setText(QString::number(5e-6,'f',6)); ui->lineEdit_PRF->setText(QString::number(1/(20e6),'f',8)); ui->lineEdit_BW->setText(QString::number(20e6,'f',2)); simDisplay = new SimDisplay(this); ui->lineEdit_sigType->setDisabled(true); ui->lineEdit_fc->setDisabled(true); ui->lineEdit_T->setDisabled(true); ui->lineEdit_PRF->setDisabled(true); ui->lineEdit_BW->setDisabled(true); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_42_clicked() { simDisplay->show(); simDisplay->setModal(true); } void MainWindow::on_comboBox_radarType_currentIndexChanged(const QString &arg1) { if(arg1.toStdString()=="模型1"){ ui->lineEdit_sigType->setText(QString::fromStdString("相位编码")); ui->lineEdit_fc->setText(QString::number(1e9,'f',2)); ui->lineEdit_T->setText(QString::number(5e-6,'f',6)); ui->lineEdit_PRF->setText(QString::number(1/(20e6),'f',8)); ui->lineEdit_BW->setText(QString::number(20e6,'f',2)); } } void MainWindow::on_pushButton_5_clicked() { // 1.获取画布 std::string chooseIndex = ui->comboBox_28->currentText().toStdString(); MyChartView = ui->SimShow; QValueAxis MyAxisX; // X轴 QValueAxis MyAxisY; // Y轴 MyAxisX.setRange(0,100); MyAxisY.setRange(-1,1); MyAxisX.setTitleText(QStringLiteral("时间")); MyAxisX.setTitleFont(QFont("宋体")); MyAxisX.setTickCount(10); MyAxisX.setGridLineVisible(true); MyAxisX.setLineVisible(true); MyAxisX.setGridLineColor(Qt::black); MyChart.addAxis(&MyAxisX,Qt::AlignLeft); MyChart.addAxis(&MyAxisY,Qt::AlignBottom); MyChartView->setChart(&MyChart); MyChartView->setRubberBand(QChartView::RectangleRubberBand); MyChart.setTitle(QString::fromStdString("信号生成预览")); // MyLineSeries.attachAxis(MyAxisX); // MyLineSeries.attachAxis(MyAxisY); double *currentSig; for(int i=0;igetIndex()){ std::cout<<"选中"; currentSig = interceptRadarList[i]->getSig(); std::cout<comboBox_radarType->currentIndex(); if(ui->comboBox_radarType->currentIndex()==0){//模型1 radarSigGen->SlotRadarGen(1); interceptRadarList[interceptRadarNum] = new interceptRadar(); interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString()); interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig); int lines = 0; tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text())); tableview->setItem(rows, lines++, new QStandardItem("正常")); tableview->setItem(rows, lines++, new QStandardItem("相位编码")); tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_fc->text())); ui->tableView_6->setModel(tableview); ui->tableView_11->setModel(tableview); ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text()); } if(ui->comboBox_radarType->currentIndex()==1){//模型2 radarSigGen->SlotRadarGen(2); interceptRadarList[interceptRadarNum] = new interceptRadar(); interceptRadarList[interceptRadarNum]->setIndex(ui->lineEdit_interceptRadarId->text().toStdString()); interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig); int lines = 0; tableview->setItem(rows, lines++, new QStandardItem(ui->lineEdit_interceptRadarId->text())); tableview->setItem(rows, lines++, new QStandardItem("正常")); tableview->setItem(rows, lines++, new QStandardItem("相位编码")); tableview->setItem(rows++, lines++, new QStandardItem(ui->lineEdit_fc->text())); ui->tableView_6->setModel(tableview); ui->tableView_11->setModel(tableview); ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text()); } if(ui->comboBox_radarType->currentIndex()==2){//模型3 radarSigGen->SlotRadarGen(3); interceptRadarList[interceptRadarNum] = new interceptRadar(); interceptRadarList[interceptRadarNum++]->setSig(radarSigGen->sig); ui->comboBox_28->addItem(ui->lineEdit_interceptRadarId->text()); } }