コード例 #1
0
def q_loads(src):
    def try_getqbytearray(v):
        if isinstance(v, QByteArray):
            return v.data()
        return v

    try:
        if isinstance(src, str):
            src = QByteArray(src.encode())
        elif isinstance(src, (list, tuple)):
            src = QByteArray(bytes(src))
        else:
            src = QByteArray(src)
        dst = QVariant()
        dll.loads(sip.unwrapinstance(dst), sip.unwrapinstance(src), False)
        # dll.dumps(shiboken2.getCppPointer(dst)[0], shiboken2.getCppPointer(src)[0])
        value = dst.value()
        if isinstance(value, str):
            value = value.encode()
        if isinstance(value, list):
            value = [try_getqbytearray(v) for v in value]
        return value
    except Exception as e:
        print('q_loads error:', e)
        raise ValueError
コード例 #2
0
 def on_buttonSend_clicked(self):
     # 发送消息按钮
     if not self._serial.isOpen():
         print('串口未连接')
         return
     text = self.plainTextEdit.toPlainText()
     if not text:
         return
     text = QByteArray(text.encode('gb2312'))  # emmm windows 测试的工具貌似是这个编码
     if self.checkBoxHexSend.isChecked():
         # 如果勾选了hex发送
         text = text.toHex()
     # 发送数据
     print('发送数据:', text)
     self._serial.write(text)
コード例 #3
0
ファイル: Test.py プロジェクト: zhou-peter/Hemodialysis
 def on_send_button_clicked(self):
     # 发送消息按钮
     if not self.serial.isOpen():
         print('串口未连接')
         return
     text = self.send_edit.toPlainText()
     if not text:
         return
     text = QByteArray(text.encode('gb2312'))
     if self.hex_send_check.isChecked():
         # 如果勾选了hex发送
         text = text.toHex()
     # 发送数据
     print('发送数据', text)
     self.serial.write(text)