MCPcopy
hub / github.com/PyQt5/PyQt / on_buttonConnect_clicked

Method on_buttonConnect_clicked

QSerialPort/SerialDebugAssistant.py:30–79  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

28
29 @pyqtSlot()
30 def on_buttonConnect_clicked(self):
31 # 打开或关闭串口按钮
32 if self._serial.isOpen():
33 # 如果串口是打开状态则关闭
34 self._serial.close()
35 self.textBrowser.append('串口已关闭')
36 self.buttonConnect.setText('打开串口')
37 self.labelStatus.setProperty('isOn', False)
38 self.labelStatus.style().polish(self.labelStatus) # 刷新样式
39 return
40
41 # 根据配置连接串口
42 name = self.comboBoxPort.currentText()
43 if not name:
44 QMessageBox.critical(self, '错误', '没有选择串口')
45 return
46 port = self._ports[name]
47 # self._serial.setPort(port)
48 # 根据名字设置串口(也可以用上面的函数)
49 self._serial.setPortName(port.systemLocation())
50 # 设置波特率
51 self._serial.setBaudRate( # 动态获取,类似QSerialPort::Baud9600这样的吧
52 getattr(QSerialPort, 'Baud' + self.comboBoxBaud.currentText()))
53 # 设置校验位
54 self._serial.setParity( # QSerialPort::NoParity
55 getattr(QSerialPort, self.comboBoxParity.currentText() + 'Parity'))
56 # 设置数据位
57 self._serial.setDataBits( # QSerialPort::Data8
58 getattr(QSerialPort, 'Data' + self.comboBoxData.currentText()))
59 # 设置停止位
60 self._serial.setStopBits( # QSerialPort::Data8
61 getattr(QSerialPort, self.comboBoxStop.currentText()))
62
63 # NoFlowControl 没有流程控制
64 # HardwareControl 硬件流程控制(RTS/CTS)
65 # SoftwareControl 软件流程控制(XON/XOFF)
66 # UnknownFlowControl 未知控制
67 self._serial.setFlowControl(QSerialPort.NoFlowControl)
68 # 读写方式打开串口
69 ok = self._serial.open(QIODevice.ReadWrite)
70 if ok:
71 self.textBrowser.append('打开串口成功')
72 self.buttonConnect.setText('关闭串口')
73 self.labelStatus.setProperty('isOn', True)
74 self.labelStatus.style().polish(self.labelStatus) # 刷新样式
75 else:
76 self.textBrowser.append('打开串口失败')
77 self.buttonConnect.setText('打开串口')
78 self.labelStatus.setProperty('isOn', False)
79 self.labelStatus.style().polish(self.labelStatus) # 刷新样式
80
81 @pyqtSlot()
82 def on_buttonSend_clicked(self):

Callers

nothing calls this directly

Calls 1

setTextMethod · 0.45

Tested by

no test coverage detected