新添加一个链接选项,类型为Multicast
This commit is contained in:
@@ -86,14 +86,17 @@ void ConnectDialog::setInit(QVariant inter, QVariant device)
|
||||
|
||||
if((m_Type == inter)&&(m_Param1.toString().size() > 0))//说明有数
|
||||
{
|
||||
qDebug() << "fund old setting" << m_Type;
|
||||
isNew = false;
|
||||
}
|
||||
|
||||
if(isNew == true)//新建一个新的连接
|
||||
{
|
||||
qDebug() << "new a interface" << inter;
|
||||
//根据接口类型新建一个界面
|
||||
if(inter.toString() == tr("SerialPort"))
|
||||
{
|
||||
qDebug() << "create serial port";
|
||||
m_Type = inter;
|
||||
m_usrName = device;
|
||||
|
||||
@@ -116,6 +119,7 @@ void ConnectDialog::setInit(QVariant inter, QVariant device)
|
||||
}
|
||||
else if(inter.toString() == tr("UDP"))
|
||||
{
|
||||
qDebug() << "create udp port";
|
||||
m_Type = inter;
|
||||
m_usrName = device;
|
||||
m_Param1 = tr("127.0.0.1");
|
||||
@@ -123,6 +127,16 @@ void ConnectDialog::setInit(QVariant inter, QVariant device)
|
||||
m_Param3 = tr("127.0.0.1");
|
||||
m_Param4 = tr("6061");
|
||||
}
|
||||
else if(inter.toString() == tr("Multicast"))
|
||||
{
|
||||
qDebug() << "create multicast port";
|
||||
m_Type = inter;
|
||||
m_usrName = device;
|
||||
m_Param1 = tr("226.0.0.80");
|
||||
m_Param2 = tr("5001");
|
||||
m_Param3 = tr("227.0.0.201");
|
||||
m_Param4 = tr("9001");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -185,9 +199,21 @@ void ConnectDialog::reBuildList(void)
|
||||
|
||||
ui->pushButton_param5->hide();
|
||||
|
||||
ui->label_Description->setText(tr("NetWork"));
|
||||
ui->label_Description->setText(tr("udp socket"));
|
||||
|
||||
}
|
||||
else if(m_Type.toString() == tr("Multicast"))
|
||||
{
|
||||
ui->label_Param1->setText(tr("receive"));
|
||||
ui->label_Param2->setText(tr(""));
|
||||
ui->label_Param3->setText(tr("transmit"));
|
||||
ui->label_Param4->setText(tr(""));
|
||||
ui->label_Param5->setText(tr(""));
|
||||
|
||||
ui->pushButton_param5->hide();
|
||||
|
||||
ui->label_Description->setText(tr("multicast socket"));
|
||||
}
|
||||
|
||||
ui->pushButton_param1->setText(m_Param1.toString());
|
||||
ui->pushButton_param2->setText(m_Param2.toString());
|
||||
@@ -351,6 +377,14 @@ void ConnectDialog::setType(QVariant value)
|
||||
m_Param4 = tr("6061");
|
||||
m_Param5 = "";
|
||||
}
|
||||
else if(m_Type.toString() == tr("Multicast"))
|
||||
{
|
||||
m_Param1 = tr("226.0.0.80");
|
||||
m_Param2 = tr("5001");
|
||||
m_Param3 = tr("227.0.0.201");
|
||||
m_Param4 = tr("9001");
|
||||
m_Param5 = "";
|
||||
}
|
||||
}
|
||||
|
||||
reBuildList();
|
||||
@@ -365,7 +399,8 @@ void ConnectDialog::onTypeClicked(void)//选择器
|
||||
QStringList list;
|
||||
|
||||
list << tr("SerialPort")
|
||||
<< tr("UDP");
|
||||
<< tr("UDP")
|
||||
<< tr("Multicast");
|
||||
|
||||
//selector->setList(list,ui->pushButton_type->text());
|
||||
|
||||
@@ -412,7 +447,7 @@ void ConnectDialog::onParam1Clicked(void)//name/localaddr 串口-选择 udp-
|
||||
|
||||
selector->show();
|
||||
}
|
||||
else if(m_Type.toString() == tr("UDP"))
|
||||
else //if(m_Type.toString() == tr("UDP"))
|
||||
{
|
||||
Inputter *inputter = new Inputter(this);
|
||||
inputter->setGeometry(0,0,this->width(),this->height());
|
||||
@@ -610,7 +645,7 @@ void ConnectDialog::onConnectClicked(void)//关闭本条
|
||||
emit connectSignal(true,m_usrName,type,m_Param1,m_Param2,m_Param3,Param4,m_Param5);
|
||||
|
||||
}
|
||||
else
|
||||
else if(m_Type == tr("UDP"))
|
||||
{
|
||||
qDebug() << "connect sock"
|
||||
<< m_usrName
|
||||
@@ -623,6 +658,20 @@ void ConnectDialog::onConnectClicked(void)//关闭本条
|
||||
|
||||
emit connectSignal(true,m_usrName,m_Type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
|
||||
}
|
||||
else if(m_Type == tr("Multicast"))
|
||||
{
|
||||
type = "Multicast";
|
||||
qDebug() << "connect Multicast"
|
||||
<< m_usrName
|
||||
<< m_Type
|
||||
<< m_Param1
|
||||
<< m_Param2
|
||||
<< m_Param3
|
||||
<< m_Param4
|
||||
<< m_Param5;
|
||||
|
||||
emit connectSignal(true,m_usrName,type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
|
||||
}
|
||||
}
|
||||
else if(ui->pushButton_Connect->text() == tr("Disconnect"))//断开连接
|
||||
{
|
||||
@@ -650,10 +699,15 @@ void ConnectDialog::onConnectClicked(void)//关闭本条
|
||||
emit connectSignal(false,m_usrName,type,m_Param1,m_Param2,m_Param3,Param4,m_Param5);
|
||||
|
||||
}
|
||||
else
|
||||
else if(m_Type == tr("UDP"))
|
||||
{
|
||||
emit connectSignal(false,m_usrName,m_Type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
|
||||
}
|
||||
else if(m_Type == tr("Multicast"))
|
||||
{
|
||||
type = "Multicast";
|
||||
emit connectSignal(false,m_usrName,type,m_Param1,m_Param2,m_Param3,m_Param4,m_Param5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -707,6 +761,9 @@ void ConnectDialog::PortConnected(QVariant state, QVariant usrName, QVariant Typ
|
||||
ui->pushButton_param3->setEnabled(false);
|
||||
ui->pushButton_param4->setEnabled(false);
|
||||
ui->pushButton_param5->setEnabled(false);
|
||||
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -721,6 +778,21 @@ void ConnectDialog::PortConnected(QVariant state, QVariant usrName, QVariant Typ
|
||||
ui->pushButton_param3->setEnabled(true);
|
||||
ui->pushButton_param4->setEnabled(true);
|
||||
ui->pushButton_param5->setEnabled(true);
|
||||
|
||||
|
||||
/*
|
||||
QMessageBox *msg = new QMessageBox();
|
||||
|
||||
msg->setWindowTitle(tr("Connect Fail"));
|
||||
|
||||
QString str;
|
||||
str.append(tr("接收地址:") + Param1.toString() + tr(":") + Param2.toString() + tr("\n"));
|
||||
str.append(tr("发送地址:") + Param3.toString() + tr(":") + Param4.toString() + tr("\n"));
|
||||
|
||||
msg->setText(str);
|
||||
|
||||
msg->show();
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "Inputter.h"
|
||||
#include "CharInputter.h"
|
||||
|
||||
#include "QMessageBox"
|
||||
|
||||
#include "Config/Config.h"
|
||||
|
||||
@@ -74,6 +75,8 @@ private slots:
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
|
||||
void usrNameChanged(QVariant m_usrName);
|
||||
|
||||
void cancelSignal();
|
||||
|
||||
@@ -69,6 +69,7 @@ void LinkUI::recover(void)
|
||||
|
||||
SerialPortCount = 0;
|
||||
UDPCount = 0;
|
||||
MulticastCount = 0;
|
||||
|
||||
}
|
||||
|
||||
@@ -264,3 +265,78 @@ void LinkUI::on_pushButton_UDP_clicked()
|
||||
}
|
||||
|
||||
|
||||
|
||||
void LinkUI::on_pushButton_Multicast_clicked()
|
||||
{
|
||||
if(MulticastCount%2 == 0)
|
||||
{
|
||||
//禁止除了自己之外在这个界面内所有按键
|
||||
//将旧的按键全部删除
|
||||
QObjectList Interface = ui->frame_InterfaceType->children();
|
||||
foreach (QObject *obj, Interface) {
|
||||
QPushButton *btn = qobject_cast<QPushButton *>(obj);
|
||||
if(btn)
|
||||
{
|
||||
QPushButton *s = qobject_cast<QPushButton *>(sender());
|
||||
if(btn != s)
|
||||
{
|
||||
btn->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
InterfaceString = btn->text();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QObjectList device = ui->frame_DeviceType->children();
|
||||
foreach (QObject *obj, device) {
|
||||
QPushButton *btn = qobject_cast<QPushButton *>(obj);
|
||||
if(btn)
|
||||
{
|
||||
delete btn;
|
||||
}
|
||||
}
|
||||
|
||||
//根据现存的设备生成一个列表
|
||||
for(QString info: DeviceList) {
|
||||
|
||||
QPushButton *btn = new QPushButton(ui->frame_DeviceType);
|
||||
btn->setText(info);
|
||||
|
||||
btn->setFixedSize(200,80);
|
||||
|
||||
ui->frame_DeviceType->layout()->addWidget(btn);
|
||||
|
||||
connect(btn,SIGNAL(clicked(bool)),
|
||||
this,SLOT(on_commandClicked()));
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//使能除了自己之外在这个界面内所有按键
|
||||
//将旧的按键全部删除
|
||||
QObjectList Interface = ui->frame_InterfaceType->children();
|
||||
foreach (QObject *obj, Interface) {
|
||||
QPushButton *btn = qobject_cast<QPushButton *>(obj);
|
||||
if(btn)
|
||||
{
|
||||
QPushButton *s = qobject_cast<QPushButton *>(sender());
|
||||
if(btn != s)
|
||||
btn->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
QObjectList device = ui->frame_DeviceType->children();
|
||||
foreach (QObject *obj, device) {
|
||||
QPushButton *btn = qobject_cast<QPushButton *>(obj);
|
||||
if(btn)
|
||||
{
|
||||
delete btn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MulticastCount ++;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef LINKUI_H
|
||||
#ifndef LINKUI_H
|
||||
#define LINKUI_H
|
||||
|
||||
#include <QWidget>
|
||||
@@ -53,12 +53,15 @@ private slots:
|
||||
|
||||
void on_pushButton_UDP_clicked();
|
||||
|
||||
void on_pushButton_Multicast_clicked();
|
||||
|
||||
private:
|
||||
Ui::LinkUI *ui;
|
||||
|
||||
|
||||
int SerialPortCount = 0;
|
||||
int UDPCount = 0;
|
||||
int MulticastCount = 0;
|
||||
|
||||
QStringList InterfaceList;
|
||||
QStringList DeviceList;
|
||||
|
||||
@@ -71,6 +71,19 @@
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QPushButton" name="pushButton_SerialPort">
|
||||
<property name="minimumSize">
|
||||
@@ -98,17 +111,17 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<widget class="QPushButton" name="pushButton_Multicast">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
<width>200</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
<property name="text">
|
||||
<string>Multicast</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
||||
Reference in New Issue
Block a user