proto-debuger/protoDebuger/SerialSelect.qml

218 lines
5.9 KiB
QML

import QtQuick 2.0
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.0
Item {
id: serial_select_view
objectName: "SerialSelect"
width: parent.width - 80
height: parent.height
property var comlist: []
visible: true
property bool uart_open: false
signal notify(string message)
Component.onCompleted: {
//信号连接slot signal.connect(id.slot)
console.log(parent)
notify.connect(root.on_notify)
}
ColorAnimation {
from: "white"
to: "black"
duration: 200
}
Rectangle{
x: 0
y: 0
width: parent.width
height: parent.height
color: "#aeaeae"
scale: 1
transformOrigin: Item.Center
GridLayout {
x: 50
y: 41
rows: 6
columns: 2
Label {
id: label
text: qsTr("串口号: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
font.pointSize: 20
wrapMode: Text.NoWrap
renderType: Text.QtRendering
horizontalAlignment: Text.AlignHCenter
}
ComboBox {
id: comPort
width: 200
model: comlist
}
Label {
id: label1
text: qsTr("波特率: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
renderType: Text.QtRendering
wrapMode: Text.NoWrap
}
ComboBox {
id: baurate
width: 200
model:[
"300",
"600",
"1200",
"2400",
"4800",
"9600",
"14400",
"19200",
"38400",
"56000",
"57600",
"115200",
"128000",
"256000",
]
currentIndex: 6
}
Label {
id: label2
text: qsTr("数据位: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
renderType: Text.QtRendering
wrapMode: Text.NoWrap
}
ComboBox {
id: dataBits
width: 200
currentIndex: 3
model: [
"5",
"6",
"7",
"8",
]
}
Label {
id: label3
text: qsTr("停止位: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
renderType: Text.QtRendering
wrapMode: Text.NoWrap
}
ComboBox {
id: stopBits
width: 200
model: [
"1",
"1.5",
"2",
]
}
Label {
id: label4
text: qsTr("校验位: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
renderType: Text.QtRendering
wrapMode: Text.NoWrap
}
ComboBox {
id: verify
width: 200
model: [
"none",
"odd",
"even",
"mark",
"space"
]
}
Label {
id: label5
text: qsTr("流控: ")
verticalAlignment: Text.AlignVCenter
Layout.preferredHeight: 40
Layout.preferredWidth: 125
horizontalAlignment: Text.AlignHCenter
font.pointSize: 20
renderType: Text.QtRendering
wrapMode: Text.NoWrap
}
ComboBox {
id: flow
width: 200
model: [
"none",
"software",
"hardware",
]
}
}
Button {
id: button
x: 97
y: 339
text: qsTr("打开串口")
onClicked: {
if(!uart_open){
let ret = DataWrap.openUart(comPort.currentText,
baurate.currentText,
dataBits.currentText,
stopBits.currentText,
flow.currentText)
if(ret === 0){
uart_open = true
button.text = "关闭串口"
serial_select_view.notify("串口已经连接")
}
}else{
let ret = DataWrap.closeSerial();
if(ret === 0){
button.text = "打开串口"
uart_open = false
serial_select_view.notify("串口已经关闭")
}
}
}
}
}
}