2021-04-10 14:22:41 +00:00
|
|
|
import QtQuick 2.0
|
|
|
|
import QtQuick.Controls 2.14
|
|
|
|
import QtQuick.Layouts 1.0
|
2021-05-01 15:41:40 +00:00
|
|
|
import QtQml 2.3
|
2021-04-10 14:22:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: element
|
2021-05-01 15:41:40 +00:00
|
|
|
|
2021-04-24 17:21:31 +00:00
|
|
|
width: 800
|
|
|
|
height: 600
|
2021-04-10 14:22:41 +00:00
|
|
|
visible: true
|
|
|
|
|
|
|
|
ColorAnimation {
|
|
|
|
from: "white"
|
|
|
|
to: "black"
|
|
|
|
duration: 200
|
|
|
|
}
|
|
|
|
Rectangle{
|
|
|
|
color: "#aeaeae"
|
2021-04-24 17:21:31 +00:00
|
|
|
anchors.rightMargin: 0
|
|
|
|
anchors.bottomMargin: 0
|
|
|
|
anchors.topMargin: 0
|
|
|
|
anchors.fill: parent
|
2021-04-10 14:22:41 +00:00
|
|
|
scale: 1
|
|
|
|
transformOrigin: Item.Center
|
2021-04-24 17:21:31 +00:00
|
|
|
Column {
|
|
|
|
anchors.fill: parent
|
|
|
|
spacing: 6
|
|
|
|
width: parent.width
|
|
|
|
height: parent.height
|
2021-05-01 15:41:40 +00:00
|
|
|
RowLayout {
|
2021-04-24 17:21:31 +00:00
|
|
|
spacing: 5
|
|
|
|
Label {
|
|
|
|
id: label6
|
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
text: qsTr("打开端口: ")
|
|
|
|
Layout.preferredHeight: 40
|
|
|
|
renderType: Text.QtRendering
|
|
|
|
Layout.preferredWidth: 125
|
|
|
|
wrapMode: Text.NoWrap
|
|
|
|
font.pointSize: 20
|
|
|
|
}
|
|
|
|
TextEdit {
|
2021-05-01 15:41:40 +00:00
|
|
|
id: port
|
2021-04-24 17:21:31 +00:00
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
2021-04-29 14:26:45 +00:00
|
|
|
width: 80
|
2021-04-24 17:21:31 +00:00
|
|
|
height: 40
|
|
|
|
text: qsTr("9001")
|
|
|
|
font.italic: false
|
|
|
|
font.bold: true
|
|
|
|
Layout.columnSpan: 2
|
|
|
|
Layout.preferredHeight: 33
|
2021-05-01 06:09:18 +00:00
|
|
|
Layout.preferredWidth: 50
|
2021-04-24 17:21:31 +00:00
|
|
|
selectionColor: "#f0f0f1"
|
|
|
|
cursorVisible: true
|
|
|
|
font.pixelSize: 20
|
|
|
|
}
|
2021-05-01 06:09:18 +00:00
|
|
|
|
2021-04-29 14:26:45 +00:00
|
|
|
RadioButton {
|
2021-05-01 15:41:40 +00:00
|
|
|
id: isServer
|
2021-04-29 14:26:45 +00:00
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
width: 138
|
|
|
|
height: 41
|
|
|
|
text: qsTr("服务端")
|
|
|
|
checked: true
|
|
|
|
|
|
|
|
onClicked:{
|
2021-05-01 15:41:40 +00:00
|
|
|
if(isServer.checked == true){
|
|
|
|
isServer.checked = false
|
|
|
|
isServer.checkable = false
|
2021-04-29 14:26:45 +00:00
|
|
|
}else{
|
2021-05-01 15:41:40 +00:00
|
|
|
isServer.checked = true
|
|
|
|
isServer.checkable = true
|
2021-04-29 14:26:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-04-24 17:21:31 +00:00
|
|
|
}
|
|
|
|
RowLayout{
|
|
|
|
spacing: 5
|
|
|
|
Label {
|
|
|
|
id: label7
|
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
text: qsTr("协议选择: ")
|
|
|
|
Layout.preferredHeight: 40
|
|
|
|
renderType: Text.QtRendering
|
|
|
|
Layout.preferredWidth: 125
|
|
|
|
wrapMode: Text.NoWrap
|
|
|
|
font.pointSize: 20
|
|
|
|
}
|
|
|
|
ComboBox {
|
2021-05-01 15:41:40 +00:00
|
|
|
id: proto_combox
|
2021-04-24 17:21:31 +00:00
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
width: 143
|
|
|
|
height: 40
|
2021-04-10 14:22:41 +00:00
|
|
|
|
2021-04-24 17:21:31 +00:00
|
|
|
model:[
|
|
|
|
"udp",
|
|
|
|
"tcp"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
RadioButton {
|
2021-04-29 14:26:45 +00:00
|
|
|
id: radioSelectWebsocket
|
2021-04-24 17:21:31 +00:00
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
width: 138
|
|
|
|
height: 41
|
|
|
|
text: qsTr("websocket")
|
|
|
|
checkable: true
|
|
|
|
checked: true
|
|
|
|
onClicked:{
|
2021-05-01 15:41:40 +00:00
|
|
|
if(radioSelectWebsocket.checked == true){
|
|
|
|
radioSelectWebsocket.checked = false
|
|
|
|
radioSelectWebsocket.checkable = false
|
|
|
|
}else{
|
|
|
|
radioSelectWebsocket.checked = true
|
|
|
|
radioSelectWebsocket.checkable = true
|
|
|
|
}
|
2021-04-24 17:21:31 +00:00
|
|
|
}
|
2021-04-10 14:22:41 +00:00
|
|
|
}
|
2021-04-24 17:21:31 +00:00
|
|
|
}
|
2021-05-01 15:41:40 +00:00
|
|
|
|
2021-04-24 17:21:31 +00:00
|
|
|
RowLayout{
|
|
|
|
spacing: 5
|
2021-04-11 03:28:04 +00:00
|
|
|
|
2021-04-24 17:21:31 +00:00
|
|
|
Label {
|
|
|
|
id: label8
|
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
2021-04-29 14:26:45 +00:00
|
|
|
text: qsTr("地址: ")
|
2021-04-24 17:21:31 +00:00
|
|
|
Layout.preferredHeight: 40
|
|
|
|
renderType: Text.QtRendering
|
|
|
|
wrapMode: Text.NoWrap
|
|
|
|
font.pointSize: 20
|
|
|
|
}
|
|
|
|
TextEdit {
|
|
|
|
id: hostEdit
|
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
width: 233
|
|
|
|
height: 40
|
|
|
|
text: qsTr("127.0.0.1")
|
|
|
|
font.italic: false
|
|
|
|
font.bold: true
|
|
|
|
Layout.columnSpan: 2
|
|
|
|
Layout.preferredHeight: 33
|
|
|
|
Layout.preferredWidth: 233
|
|
|
|
selectionColor: "#f0f0f1"
|
|
|
|
cursorVisible: true
|
|
|
|
font.pixelSize: 20
|
|
|
|
}
|
|
|
|
}
|
|
|
|
RowLayout{
|
|
|
|
spacing: 5
|
|
|
|
Button {
|
|
|
|
id: button
|
|
|
|
Layout.leftMargin: 20
|
|
|
|
Layout.topMargin: 20
|
|
|
|
width: 128
|
|
|
|
height: 52
|
|
|
|
text: qsTr("打开网口")
|
2021-04-11 03:28:04 +00:00
|
|
|
|
2021-04-29 14:26:45 +00:00
|
|
|
onClicked: {
|
2021-05-01 15:41:40 +00:00
|
|
|
console.log(hostEdit.text)
|
|
|
|
// TYPE_UDP_SERVER = 0,
|
|
|
|
// TYPE_TCP_SERVER = 1,
|
|
|
|
// TYPE_UDP_CLIENT = 2,
|
|
|
|
// TYPE_TCP_CLIENT = 3,
|
|
|
|
// Q_INVOKABLE int openNetwork(QString ip,uint32_t port,bool is_ws,int type);
|
|
|
|
console.log(proto_combox.currentText)
|
|
|
|
|
|
|
|
let type_network = -1
|
|
|
|
if(proto_combox.currentText == "udp" && isServer.checked){
|
|
|
|
type_network = 0
|
|
|
|
}
|
|
|
|
if(proto_combox.currentText == "udp" && !isServer.checked){
|
|
|
|
type_network = 2
|
|
|
|
}
|
|
|
|
if(proto_combox.currentText == "tcp" && isServer.checked){
|
|
|
|
type_network = 1
|
|
|
|
}
|
|
|
|
if(proto_combox.currentText == "tcp" && !isServer.checked){
|
|
|
|
type_network = 3
|
|
|
|
}
|
|
|
|
console.log(hostEdit.text,
|
|
|
|
port.text,
|
|
|
|
radioSelectWebsocket.checked,
|
|
|
|
type_network)
|
|
|
|
let ret = DataWrap.openNetwork(hostEdit.text,
|
|
|
|
Number(port.text),
|
|
|
|
radioSelectWebsocket.checked,
|
|
|
|
type_network)
|
|
|
|
if(ret != 0){
|
|
|
|
tip.text = "网络连接失败"
|
|
|
|
tip.visible = true
|
|
|
|
return
|
|
|
|
}
|
|
|
|
tip.text = "网络连接成功"
|
|
|
|
tip.visible = true
|
2021-04-29 14:26:45 +00:00
|
|
|
|
|
|
|
}
|
2021-04-24 17:21:31 +00:00
|
|
|
}
|
2021-04-10 14:22:41 +00:00
|
|
|
}
|
2021-05-01 15:41:40 +00:00
|
|
|
ToolTip {
|
|
|
|
id: tip
|
|
|
|
text: qsTr("")
|
|
|
|
visible: false
|
|
|
|
contentItem: Text {
|
|
|
|
text: tip.text
|
|
|
|
font: tip.font
|
|
|
|
color: "#21be2b"
|
|
|
|
}
|
2021-04-24 17:21:31 +00:00
|
|
|
|
2021-05-01 15:41:40 +00:00
|
|
|
background: Rectangle {
|
|
|
|
border.color: "#21be2b"
|
|
|
|
}
|
|
|
|
delay: 100
|
|
|
|
timeout: 1000
|
|
|
|
}
|
2021-04-10 14:22:41 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|