import QtQuick 2.15 import QtQuick.Layouts 1.3 import QtQuick.Controls 2.14 import QtQuick.Controls.Styles 1.2 import TService 1.0 Item{ id: root //anchors.fill: parent //width:1024 //height: 768 //anchors.centerIn: parent property var pagetype:rootitem.Page_Type_Testing property string title_str:"手动测试" property double pressvalue: 1.22 property bool bSelfTest_Started: false property string selfTest_State_str:"" property string selfTest_Result_str:"" function show_pressure(pressure_str){ lcd_pressure.text = pressure_str; } function show_selftestState(str){ selfTest_State_str = str } function show_selftestResult(str){ selfTest_Result_str = str } function selftestStop(){ var ret1 = testService.tstop(0); if(ret1){ bSelfTest_Started = false; //selftest_result.text = "" selftest_button.text = "开始" readbutton.enabled = true; adjustbutton.enabled = true; //timer.stop() } } // Component{ // id:componet DynamicGroupBox{ id:groupbox //x:width //x:0 anchors.centerIn: parent anchors.fill: parent title: title_str Column{ spacing: 10 anchors.centerIn: parent DynamicGroupBox{ id:relays_control title: "继电器控制" width: 800 height: 300 GridLayout{ anchors.centerIn: parent columns: 4 rows:3 columnSpacing: 80 rowSpacing: 30 UserSwitch{ id:switch1 text: "粗调阀1关" onCheckedChanged: { //console.log("switch 1 onCheckedChanged") switch1.text = switch1.checked ? "粗调阀1开":"粗调阀1关" } onClicked: { //console.log("switch 1 clicked") if(switch1.checked){ testService.valve_open(TestService.Valve_ID_ROUGH_0) }else{ testService.valve_close(TestService.Valve_ID_ROUGH_0) } } } UserSwitch{ id:switch2 text: "粗调阀2关" onCheckedChanged: { switch2.text = switch2.checked ? "粗调阀2开":"粗调阀2关" } onClicked: { if(switch2.checked){ testService.valve_open(TestService.Valve_ID_ROUGH_1) }else{ testService.valve_close(TestService.Valve_ID_ROUGH_1) } } } UserSwitch{ id:switch3 text: "粗调阀3关" onCheckedChanged: { switch3.text = switch3.checked ? "粗调阀3开":"粗调阀3关" } onClicked: { if(switch3.checked){ testService.valve_open(TestService.Valve_ID_ROUGH_2) }else{ testService.valve_close(TestService.Valve_ID_ROUGH_2) } } } UserSwitch{ id:switch4 text: "校准阀 关" onCheckedChanged: { switch4.text = switch4.checked ? "校准阀 开":"校准阀 关" } onClicked: { if(switch4.checked){ testService.valve_open(TestService.Valve_ID_CALIBRATION) }else{ testService.valve_close(TestService.Valve_ID_CALIBRATION) } } } UserSwitch{ id:switch5 text: "传感阀 关" onCheckedChanged: { switch5.text = switch5.checked ? "传感阀 开":"传感阀 关" } onClicked: { if(switch5.checked){ testService.valve_open(TestService.Valve_ID_PRESSURESENSOR) }else{ testService.valve_close(TestService.Valve_ID_PRESSURESENSOR) } } } UserSwitch{ id:switch6 text: "真空阀 关" onCheckedChanged: { switch6.text = switch6.checked ? "真空阀 开":"真空阀 关" } onClicked: { if(switch6.checked){ testService.valve_open(TestService.Valve_ID_VACUUM) }else{ testService.valve_close(TestService.Valve_ID_VACUUM) } } } UserSwitch{ id:switch7 text: "泄气阀 关" onCheckedChanged: { switch7.text = switch7.checked ? "泄气阀 开":"泄气阀 关" } onClicked: { if(switch7.checked){ testService.valve_open(TestService.Valve_ID_VENT) }else{ testService.valve_close(TestService.Valve_ID_VENT) } } } UserSwitch{ id:switch8 text: "进气阀 关" onCheckedChanged: { switch8.text = switch8.checked ? "进气阀 开":"进气阀 关" } onClicked: { if(switch8.checked){ testService.valve_open(TestService.Valve_ID_INTAKE) }else{ testService.valve_close(TestService.Valve_ID_INTAKE) } } } UserSwitch{ id:switchall text: "全关" onCheckedChanged: { switchall.text = switch8.checked ? "全关":"全开" if(switchall.checked){ testService.valve_open(TestService.Valve_ID_All) switch1.checked=true switch2.checked=true switch3.checked=true switch4.checked=true switch5.checked=true switch6.checked=true switch7.checked=true switch8.checked=true }else{ testService.valve_close(TestService.Valve_ID_All) switch1.checked=false switch2.checked=false switch3.checked=false switch4.checked=false switch5.checked=false switch6.checked=false switch7.checked=false switch8.checked=false } } } } } DynamicGroupBox{ id:adjust_control title: "调节阀控制" width: 800 height: 100 Row{ anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left spacing: 20 Text { id: text1 //anchors.top: parent.top //anchors.bottom: parent.bottom //anchors.centerIn: parent anchors.verticalCenter: parent.verticalCenter text: qsTr("调压阀:") font.pixelSize: 20 } UserButton { id: adjustbutton; text: "调压"; font.pixelSize: 20 anchors.verticalCenter: parent.verticalCenter implicitWidth: 100 implicitHeight: 60 onClicked: { //var str_number = voltage.text var num = Number(voltage.text) if((num>0) && (num<1000)){ testService.adjust_Pressure(voltage.text) }else{ console.log("input voltage invalid") log.show("Voltage invalid, please retry") } } } InputLine{ id:voltage paraName: "Voltage:" paraLength: 60 anchors.verticalCenter: parent.verticalCenter validator:RegExpValidator { regExp: /[0-9]*/ } onTextChanged: { //root.manufacture = text } } } } DynamicGroupBox{ id:pressure title: "实时压力" width: 800 height: 100 Row{ anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left spacing: 20 Timer { id: timer; interval: 1000;//设置定时器定时时间为500ms,默认1000ms repeat: true //是否重复定时,默认为false running: false //是否开启定时,默认是false,当为true的时候,进入此界面就开始定时 triggeredOnStart: false // 是否开启定时就触发onTriggered,一些特殊用户可以用来设置初始值。 onTriggered: { lcd_pressure.text = testService.read_PressureValue(); } //restart ,start,stop,定时器的调用方式,顾名思义 } UserButton { id: readbutton; text: "开始"; font.pixelSize: 20 anchors.verticalCenter: parent.verticalCenter implicitWidth: 100 implicitHeight: 60 onEnabledChanged: { if(timer.running){ timer.stop() text= "开始" }else{ //timer.start() //text= "停止" } } onClicked: { if(timer.running){ timer.stop() text= "开始" }else{ timer.start() text= "停止" } //lcd_pressure.text = pressvalue.toFixed(3).toString() } } Rectangle{ id:pressureWindow //anchors.fill: parent anchors.verticalCenter: parent.verticalCenter width: 120 height: 40 //color: "white" radius: 4 LCDNumber{ id:lcd_pressure anchors.centerIn: parent //anchors.verticalCenter: parent.verticalCenter text: "5.00" fontsize: 40 } } Text { id: kpa anchors.left: lcd_pressure.right anchors.verticalCenter: parent.verticalCenter text: qsTr("kPa") //font: 40 font.bold: true font.pixelSize: 25 } } } DynamicGroupBox{ id:selftest title: "系统自测" width: 800 height: 100 Row{ anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left spacing: 30 UserButton { id: selftest_button; text: "开始"; font.pixelSize: 20 //height: 40 //width: 160 implicitWidth: 100 implicitHeight: 60 onClicked: { //var str_number = voltage.text if(false == bSelfTest_Started){ //bSelfTest_Started = true; //selftest_result.text= "测试通过" if(timer.running){ timer.stop() } var ret = testService.tselfstart(0, 0) if(ret){ bSelfTest_Started = true; readbutton.enabled = false; adjustbutton.enabled = false; text = "停止" selfTest_State_str="" selfTest_Result_str="" //timer.start() }else{ } }else{ var ret1 = testService.tstop(0); if(ret1){ bSelfTest_Started = false; //selftest_result.text = "" text = "开始" readbutton.enabled = true; adjustbutton.enabled = true; //timer.stop() } } } } Text { id: selftest_state anchors.verticalCenter: parent.verticalCenter text: qsTr("自测状态:")+selfTest_State_str font.pixelSize: 20 } Text { id: selftest_result anchors.verticalCenter: parent.verticalCenter text: qsTr("自测结果:")+selfTest_Result_str font.pixelSize: 20 } } } } } // } }