#include "gddcSet.h" #include "ui_gddcSet.h" #include //#pragma execution_character_set(“utf-8”) GDDCSet::GDDCSet(QWidget *parent) : QWidget(parent) , ui(new Ui::GDDCSet) { ui->setupUi(this); initWindow(); initParam(); initUDPSocket(); } GDDCSet::~GDDCSet() { delete ui; } void GDDCSet::initWindow() { this->setWindowTitle("通信设置"); } void GDDCSet::initUDPSocket() { } void GDDCSet::initParam() { //m_myPairNetwork("",0,"",0); // QSettings setting("./sentence.ini",QSettings::IniFormat); // setting.setIniCodec(QTextCodec::codecForName("UTF-8")); //重点 ui->comboBox_streamType->addItem("RTSP"); ui->comboBox_streamType->addItem("UDP Raw"); ui->comboBox_streamType->addItem("UDP 422"); ui->comboBox_streamType->addItem("UDP TS"); ui->comboBox_playURL1->addItem("rtsp://192.168.1.160:554/live/track0"); ui->comboBox_playURL1->setEditable(true); /*"rtsp://192.168.1.160:554/live/track0"*/ /*"rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid"*/ ui->lineEdit_playport1->setText("10008"); ui->lineEdit_playport2->setText("0"); ui->radioButton_NetCtrlUDP->setChecked(true); ui->radioButton_NetCtrlTCP->setChecked(false); //读取本机网络设备 QString name = QDir::currentPath()+"/../../config.ini"; m_configIniPath = name.toLatin1(); char* strSysIniName = m_configIniPath.data();//系统配置文件路径 char inBuf[100]; ::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放URL", "-1", inBuf, 100, strSysIniName); m_playURL2 = QString::fromUtf8(inBuf); ui->lineEdit_playURL2->setText(m_playURL2); ::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放Port", "-1", inBuf, 100, strSysIniName); m_playPort2 = atoi(inBuf);; ui->lineEdit_playport2->setText(QString::number(m_playPort2)); ::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口1", "播放Port", "-1", inBuf, 100, strSysIniName); m_playPort1 = atoi(inBuf);; ui->lineEdit_playport1->setText(QString::number(m_playPort1)); ::GetPrivateProfileStringA("光电吊舱-网络控制", "远端IP", "-1", inBuf, 100, strSysIniName); m_myPairNetwork.setRemoteIP(QString::fromUtf8(inBuf)); ::GetPrivateProfileStringA("光电吊舱-网络控制", "远端Port", "-1", inBuf, 100, strSysIniName); m_myPairNetwork.setRemotePort(atoi(inBuf)); ::GetPrivateProfileStringA("光电吊舱-网络控制", "本地IP", "-1", inBuf, 100, strSysIniName); m_myPairNetwork.setLocalIP(QString::fromUtf8(inBuf)); ::GetPrivateProfileStringA("光电吊舱-网络控制", "本地Port", "-1", inBuf, 100, strSysIniName); m_myPairNetwork.setLocalPort(atoi(inBuf)); ui->lineEdit_NetCtrlRemoteIp->setText(m_myPairNetwork.getRemoteIP()); ui->lineEdit_NetCtrlRemotePort->setText(QString::number(m_myPairNetwork.getRemotePort())); ui->lineEdit_NetCtrlLocalIp->setText(m_myPairNetwork.getLocalIP()); ui->lineEdit_NetCtrlLocalPort->setText(QString::number(m_myPairNetwork.getLocalPort())); } //视频连接-显示窗口1-连接 void GDDCSet::on_pushButton_ConnectURL1_clicked() { saveDataToLocalIni(); if(ui->pushButton_ConnectURL1->text()=="连接") { emit SignalStartConnect(1); ui->pushButton_ConnectURL1->setText("断开"); } else { emit SignalStopConnect(1); ui->pushButton_ConnectURL1->setText("连接"); } } //视频连接-显示窗口2-连接 void GDDCSet::on_pushButton_ConnectURL2_clicked() { saveDataToLocalIni(); if(ui->pushButton_ConnectURL2->text()=="连接") { emit SignalStartConnect(2); ui->pushButton_ConnectURL2->setText("断开"); } else { emit SignalStopConnect(2); ui->pushButton_ConnectURL2->setText("连接"); } } //串口控制-刷新 void GDDCSet::on_pushButton_serialControlRefalsh_clicked() { saveDataToLocalIni(); } //串口控制-连接 void GDDCSet::on_pushButton_serialControlConnect_clicked() { saveDataToLocalIni(); if(ui->pushButton_serialControlConnect->text()=="连接") { emit SignalStartConnect(3); ui->pushButton_serialControlConnect->setText("断开"); } else { emit SignalStopConnect(3); ui->pushButton_serialControlConnect->setText("连接"); } } //网络控制-连接 void GDDCSet::on_pushButton_NetCtrlConnect_clicked() { saveDataToLocalIni(); if(ui->pushButton_NetCtrlConnect->text()=="连接") { if(ui->radioButton_NetCtrlUDP->isChecked()) { emit SignalStartConnect(4); } else { emit SignalStartConnect(5); } ui->pushButton_NetCtrlConnect->setText("断开"); } else { emit SignalStopConnect(4); emit SignalStopConnect(5); ui->pushButton_NetCtrlConnect->setText("连接"); } } //保存数据至本地ini文件 void GDDCSet::saveDataToLocalIni() { char* strSysIniName = m_configIniPath.data();//系统配置文件路径 char* inBuf; QByteArray ba; m_myPairNetwork.setLocalIP(ui->lineEdit_NetCtrlLocalIp->text()); ba = m_myPairNetwork.getLocalIP().toLocal8Bit(); inBuf = ba.data();//toLatin1,toUtf8 ::WritePrivateProfileStringA("光电吊舱-网络控制", "本地IP", inBuf, strSysIniName); m_myPairNetwork.setLocalPort(ui->lineEdit_NetCtrlLocalPort->text().toInt()); _itoa_s(m_myPairNetwork.getLocalPort(),inBuf,10,10);//要转换的数字,存放转换结果的字符串,存放结果的字符数组长度,转化的进制数,2表示2进制,10表示10进制 ::WritePrivateProfileStringA("光电吊舱-网络控制", "本地Port", inBuf, strSysIniName); m_myPairNetwork.setRemoteIP(ui->lineEdit_NetCtrlRemoteIp->text()); ba = m_myPairNetwork.getRemoteIP().toLocal8Bit(); inBuf = ba.data(); ::WritePrivateProfileStringA("光电吊舱-网络控制", "远端IP", inBuf, strSysIniName); m_myPairNetwork.setRemotePort(ui->lineEdit_NetCtrlRemotePort->text().toInt()); _itoa_s(m_myPairNetwork.getRemotePort(),inBuf,10,10); ::WritePrivateProfileStringA("光电吊舱-网络控制", "远端Port", inBuf, strSysIniName); m_playURL2 = ui->lineEdit_playURL2->text(); ba = m_playURL2.toLocal8Bit(); inBuf = ba.data(); ::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放URL", inBuf, strSysIniName); m_playPort2 = ui->lineEdit_playport2->text().toInt(); _itoa_s(m_playPort2,inBuf,10,10); ::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放Port", inBuf, strSysIniName); m_playURL1 = ui->comboBox_playURL1->currentText(); m_playPort1 = ui->lineEdit_playport1->text().toInt(); _itoa_s(m_playPort1,inBuf,10,10); ::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口1", "播放Port", inBuf, strSysIniName); }