Merge branch 'main' of http://123.57.54.1:3000/CaoYuhui/PayloadAPP into WuChengBo

pull/7/head
cbwu 7 months ago
commit 4885ad71e6

@ -534,12 +534,14 @@ void GDDCdlg::stopPushURL() {
// 推流进程未自动关闭,手动关闭 // 推流进程未自动关闭,手动关闭
int pids = GetmPid(L"ffmpeg.exe"); int pids = GetmPid(L"ffmpeg.exe");
qDebug() << "ffmpeg.exe进程的pid为:" << pids; qDebug() << "ffmpeg.exe进程的pid为:" << pids;
if (pids != 0) {
// QString cmd; // QString cmd;
// cmd = "taskkill /pid "+QString::number(pids)+" -f"; // cmd = "taskkill /pid "+QString::number(pids)+" -f";
QStringList m_cmd; QStringList m_cmd;
m_cmd << "/c" << "taskkill /pid " << QString::number(pids) << " -f"; m_cmd << "/c" << "taskkill /pid " << QString::number(pids) << " -f";
QProcess::startDetached("cmd", m_cmd); QProcess::startDetached("cmd", m_cmd);
} }
}
connectFlag[5] = false; connectFlag[5] = false;
} }
} }

@ -159,9 +159,11 @@ void deviceStateDlg::setDeviceIP(int id, QString ip) {
} }
// 字符串网络地址截取 // 字符串网络地址截取
QString deviceStateDlg::stringIPSelect(QString str) { QString deviceStateDlg::stringIPSelect(QString str) {
int start, end; // str = https://192.168.1.2/22 int start = -1;
int end = -1;
// str = https://192.168.1.2/22
start = str.indexOf("//"); start = str.indexOf("//");
if (start != 0) { if (start != -1) {
start += 2; start += 2;
QString str2 = str.remove(0, start); // 192.168.1.2/224//115 QString str2 = str.remove(0, start); // 192.168.1.2/224//115
end = str2.indexOf("/"); end = str2.indexOf("/");
@ -184,7 +186,14 @@ QString deviceStateDlg::stringIPSelect(QString str) {
} }
// index = str.indexOf("http://") // index = str.indexOf("http://")
} }
// 获得url地址
void deviceStateDlg::setUrl(std::unordered_map<QString, QString> &urlMap) {
m_urlMap = urlMap;
setDeviceIP(HomePageSetingWidget::GDDC, m_urlMap["光电吊舱"]);
setDeviceIP(HomePageSetingWidget::L_Link, m_urlMap["L链"]);
setDeviceIP(HomePageSetingWidget::Adhoc_Network, m_urlMap["宽带自组网"]);
setDeviceIP(HomePageSetingWidget::Satelite_Comm, m_urlMap["机载卫通"]);
}
// 开始网络监测 // 开始网络监测
void deviceStateDlg::startNetDetn() { void deviceStateDlg::startNetDetn() {
for (int i = 0; i < deviceNum; ++i) { for (int i = 0; i < deviceNum; ++i) {

@ -55,6 +55,8 @@ public:
QTimer *m_timer; QTimer *m_timer;
void setDeviceIP(int, QString); void setDeviceIP(int, QString);
QString stringIPSelect(QString); QString stringIPSelect(QString);
std::unordered_map<QString, QString> m_urlMap; // 存储url地址
void setUrl(std::unordered_map<QString, QString> &urlMap); // 获得url地址
void startNetDetn(); void startNetDetn();
void stopNetDetn(); void stopNetDetn();
public slots: public slots:

@ -5,8 +5,7 @@
#include <qsettings.h> #include <qsettings.h>
HomePageDlg::HomePageDlg(QWidget *parent) HomePageDlg::HomePageDlg(QWidget *parent)
: QWidget(parent), ui(new Ui::HomePageDlg), _lLinkIp(""), _adHocNetwork(""), : QWidget(parent), ui(new Ui::HomePageDlg) {
_satelliteComm("") {
ui->setupUi(this); ui->setupUi(this);
QPalette palette; QPalette palette;
// 设置主窗口背景颜色 // 设置主窗口背景颜色
@ -21,44 +20,14 @@ HomePageDlg::HomePageDlg(QWidget *parent)
m_deviceStateDlg = new deviceStateDlg(this); // 状态嵌入窗口 m_deviceStateDlg = new deviceStateDlg(this); // 状态嵌入窗口
m_deviceStateDlg->show(); m_deviceStateDlg->show();
std::unordered_map<QString, QString> urlmap = settingWidget->getUrl();
m_deviceStateDlg->setUrl(urlmap);
initSettingUrl();
initButton(); initButton();
} }
HomePageDlg::~HomePageDlg() { delete ui; } HomePageDlg::~HomePageDlg() { delete ui; }
/*************************************************
* @func getUrl
* @brief url
* @param
**************************************************/
void HomePageDlg::getUrl(std::unordered_map<QString, QString> &urlMap) {
urlMap = _urlMap;
}
/*************************************************
* @func
* @brief
* @param
* @return
**************************************************/
void HomePageDlg::initSettingUrl() {
QString urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
std::unique_ptr<QSettings> configIni =
std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
_GDDCIp = configIni->value("光电吊舱/IP").toString();
_lLinkIp = configIni->value("L链/IP").toString();
_adHocNetwork = configIni->value("宽带自组网/IP").toString();
_satelliteComm = configIni->value("机载卫通/IP").toString();
_urlMap.insert({"光电吊舱", _GDDCIp});
_urlMap.insert({"L链", _lLinkIp});
_urlMap.insert({"宽带自组网", _adHocNetwork});
_urlMap.insert({"机载卫通", _satelliteComm});
settingWidget->setUrl(_urlMap);
}
/** /**
* @brief HomePageDlg::initButton * @brief HomePageDlg::initButton
*/ */

@ -18,21 +18,13 @@ public:
explicit HomePageDlg(QWidget *parent = nullptr); explicit HomePageDlg(QWidget *parent = nullptr);
~HomePageDlg(); ~HomePageDlg();
QPixmap m_pixmap; QPixmap m_pixmap;
HomePageSetingWidget *settingWidget; HomePageSetingWidget *settingWidget; // 通信设置页面
deviceStateDlg *m_deviceStateDlg; deviceStateDlg *m_deviceStateDlg; // 设备状态信息页面
void getUrl(std::unordered_map<QString, QString> &urlMap);
private: private:
Ui::HomePageDlg *ui; Ui::HomePageDlg *ui;
void initSettingUrl();
void initButton(); void initButton();
QPushButton *m_settingBtn; // 通信设置按钮
QString _GDDCIp;
QString _lLinkIp;
QString _adHocNetwork;
QString _satelliteComm;
std::unordered_map<QString, QString> _urlMap;
QPushButton *m_settingBtn;
protected: protected:
void resizeEvent(QResizeEvent *event); void resizeEvent(QResizeEvent *event);

@ -5,34 +5,40 @@ HomePageSetingWidget::HomePageSetingWidget(QWidget *parent)
: QWidget(parent), ui(new Ui::HomePageSetingWidget), _GDDCIp(""), : QWidget(parent), ui(new Ui::HomePageSetingWidget), _GDDCIp(""),
_lLinkIp(""), _adHocNetwork(""), _satelliteComm("") { _lLinkIp(""), _adHocNetwork(""), _satelliteComm("") {
ui->setupUi(this); ui->setupUi(this);
init();
}
HomePageSetingWidget::~HomePageSetingWidget() { delete ui; }
void HomePageSetingWidget::init() {
// 选择配置文件
urlFile = QCoreApplication::applicationDirPath() + "/config.ini"; urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
_configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat); _configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
}
HomePageSetingWidget::~HomePageSetingWidget() { delete ui; } // 读取配置信息
_GDDCIp = _configIni->value("光电吊舱/IP").toString();
_lLinkIp = _configIni->value("L链/IP").toString();
_adHocNetwork = _configIni->value("宽带自组网/IP").toString();
_satelliteComm = _configIni->value("机载卫通/IP").toString();
/** // 存储配置信息到MAP容器中
* @brief HomePageSetingWidget::setUrl .ini _urlMap.insert({"光电吊舱", _GDDCIp});
* @param urlMap _urlMap.insert({"L链", _lLinkIp});
*/ _urlMap.insert({"宽带自组网", _adHocNetwork});
void HomePageSetingWidget::setUrl( _urlMap.insert({"机载卫通", _satelliteComm});
std::unordered_map<QString, QString> &urlMap) {
_GDDCIp = urlMap["光电吊舱"];
_lLinkIp = urlMap["L链"];
_adHocNetwork = urlMap["宽带自组网"];
_satelliteComm = urlMap["机载卫通"];
initEdit();
}
/** // 显示到配置页面
* @brief HomePageSetingWidget::initEdit Edit
*/
void HomePageSetingWidget::initEdit() {
ui->GDDCLineEdit->setText(_GDDCIp); ui->GDDCLineEdit->setText(_GDDCIp);
ui->lLinkLineEdit->setText(_lLinkIp); ui->lLinkLineEdit->setText(_lLinkIp);
ui->netLineEdit->setText(_adHocNetwork); ui->netLineEdit->setText(_adHocNetwork);
ui->sateliteLineEdit->setText(_satelliteComm); ui->sateliteLineEdit->setText(_satelliteComm);
// 发送消息到其他页面
emit sendOnlyUrl(GDDC, _GDDCIp);
emit sendOnlyUrl(L_Link, _lLinkIp);
emit sendOnlyUrl(Adhoc_Network, _adHocNetwork);
emit sendOnlyUrl(Satelite_Comm, _satelliteComm);
} }
void HomePageSetingWidget::on_GDDCPushButton_clicked() { void HomePageSetingWidget::on_GDDCPushButton_clicked() {
// 写参数到配置文件 // 写参数到配置文件
_GDDCIp = ui->GDDCLineEdit->text(); _GDDCIp = ui->GDDCLineEdit->text();
@ -59,22 +65,18 @@ void HomePageSetingWidget::on_sateliteButton_clicked() {
_configIni->setValue("机载卫通/IP", _satelliteComm); _configIni->setValue("机载卫通/IP", _satelliteComm);
emit sendOnlyUrl(Satelite_Comm, _satelliteComm); emit sendOnlyUrl(Satelite_Comm, _satelliteComm);
} }
// 一键配置
void HomePageSetingWidget::on_oneKeyButton_clicked() { void HomePageSetingWidget::on_oneKeyButton_clicked() {
// 写参数到配置文件 on_GDDCPushButton_clicked();
_GDDCIp = ui->GDDCLineEdit->text(); on_lLinkButton_clicked();
_configIni->setValue("光电吊舱/IP", _GDDCIp); on_netButton_clicked();
_lLinkIp = ui->lLinkLineEdit->text(); on_sateliteButton_clicked();
_configIni->setValue("L链/IP", _lLinkIp); }
_adHocNetwork = ui->netLineEdit->text(); /*************************************************
_configIni->setValue("宽带自组网/IP", _adHocNetwork); * @func getUrl
_satelliteComm = ui->sateliteLineEdit->text(); * @brief url
_configIni->setValue("机载卫通/IP", _satelliteComm); * @param
**************************************************/
std::unordered_map<QString, QString> urlMap; std::unordered_map<QString, QString> HomePageSetingWidget::getUrl() {
urlMap.insert({"光电吊舱", _GDDCIp}); return _urlMap;
urlMap.insert({"L链", _lLinkIp});
urlMap.insert({"宽带自组网", _adHocNetwork});
urlMap.insert({"机载卫通", _satelliteComm});
emit sendAllUrl(urlMap);
} }

@ -23,11 +23,23 @@ private:
QString _satelliteComm; // PDT QString _satelliteComm; // PDT
std::unique_ptr<QSettings> _configIni; // 配置文件写入 std::unique_ptr<QSettings> _configIni; // 配置文件写入
QString urlFile; // 配置文件路径 QString urlFile; // 配置文件路径
private: std::unordered_map<QString, QString> _urlMap; // map容器存储url
void initEdit(); public:
void init();
/*************************************************
* @func getUrl
* @brief url
* @param
**************************************************/
std::unordered_map<QString, QString> getUrl();
public: public:
void setUrl(std::unordered_map<QString, QString> &urlMap); enum urlEnum : unsigned char {
GDDC = 1,
L_Link,
Adhoc_Network,
Satelite_Comm
};
private slots: private slots:
void on_lLinkButton_clicked(); void on_lLinkButton_clicked();
@ -39,14 +51,6 @@ private slots:
signals: signals:
void sendOnlyUrl(unsigned char urlIndex, QString url); // 发送信号给网页显示 void sendOnlyUrl(unsigned char urlIndex, QString url); // 发送信号给网页显示
void sendAllUrl(std::unordered_map<QString, QString> urlMap); void sendAllUrl(std::unordered_map<QString, QString> urlMap);
public:
enum urlEnum : unsigned char {
GDDC = 1,
L_Link,
Adhoc_Network,
Satelite_Comm
};
}; };
#endif // HOMEPAGESETINGWIDGET_H #endif // HOMEPAGESETINGWIDGET_H

@ -82,7 +82,7 @@ void MainWindow::initWindow() {
m_rescueLoadWidget = new RescueLoadWidget(this); m_rescueLoadWidget = new RescueLoadWidget(this);
// 使用类中的get方法获取配置文件中的IP // 使用类中的get方法获取配置文件中的IP
m_HomePagedlg->getUrl(m_urlMap); m_urlMap = m_HomePagedlg->settingWidget->getUrl();
qDebug() << "=============设备配置================"; qDebug() << "=============设备配置================";
qDebug() << "光电吊舱" << m_urlMap["光电吊舱"]; qDebug() << "光电吊舱" << m_urlMap["光电吊舱"];
@ -127,13 +127,6 @@ void MainWindow::initWindow() {
} }
}); });
// 接收主页面设置窗口的url数据传递并设置 一键设置
connect(m_HomePagedlg->settingWidget, &HomePageSetingWidget::sendAllUrl, this,
[&](std::unordered_map<QString, QString> urlMap) {
lLinkWeb->load(QUrl(urlMap["L链"]));
adHocNetworkWeb->load(QUrl(urlMap["宽带自组网"]));
satelliteCommWeb->load(QUrl(urlMap["机载卫通"]));
});
// 设置栈窗口,多页面共享同一窗口 // 设置栈窗口,多页面共享同一窗口
ui->stackedWidget->addWidget(m_SDFPDlg); ui->stackedWidget->addWidget(m_SDFPDlg);
ui->stackedWidget->addWidget(m_HomePagedlg); ui->stackedWidget->addWidget(m_HomePagedlg);

Loading…
Cancel
Save