接收窗口更新成 plainTextEdit ,解析增加hex原数据显示
This commit is contained in:
parent
2a48d097be
commit
f86b9f0a65
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
[UI_config]
|
[UI_config]
|
||||||
port = 9000
|
port = 9000
|
||||||
hex_send = 0
|
hex_send = 0
|
||||||
hex_receive = 0
|
hex_receive = 2
|
||||||
add_date = 0
|
add_date = 0
|
||||||
cr_lf = 2
|
cr_lf = 2
|
||||||
auto_sav_log = 2
|
auto_sav_log = 2
|
||||||
@ -12,105 +12,105 @@ funcode = F4
|
|||||||
position = 5
|
position = 5
|
||||||
|
|
||||||
[DisHex_config]
|
[DisHex_config]
|
||||||
row00 = 浓度|0|4|1|2
|
row00 = 浓度|0|2|1|3F10|2
|
||||||
row01 = 测试|1|3|1|2
|
row01 = 测试|1|3|1|105678|2
|
||||||
row02 = ||||0
|
row02 = |||||0
|
||||||
row03 = ||||0
|
row03 = |||||0
|
||||||
row04 = ||||0
|
row04 = |||||0
|
||||||
row05 = ||||0
|
row05 = |||||0
|
||||||
row06 = ||||0
|
row06 = |||||0
|
||||||
row07 = ||||0
|
row07 = |||||0
|
||||||
row08 = ||||0
|
row08 = |||||0
|
||||||
row09 = ||||0
|
row09 = |||||0
|
||||||
row10 = ||||0
|
row10 = |||||0
|
||||||
row11 = ||||0
|
row11 = |||||0
|
||||||
row12 = ||||0
|
row12 = |||||0
|
||||||
row13 = ||||0
|
row13 = |||||0
|
||||||
row14 = ||||0
|
row14 = |||||0
|
||||||
row15 = ||||0
|
row15 = |||||0
|
||||||
row16 = ||||0
|
row16 = |||||0
|
||||||
row17 = ||||0
|
row17 = |||||0
|
||||||
row18 = ||||0
|
row18 = |||||0
|
||||||
row19 = ||||0
|
row19 = |||||0
|
||||||
row20 = ||||0
|
row20 = |||||0
|
||||||
row21 = ||||0
|
row21 = |||||0
|
||||||
row22 = ||||0
|
row22 = |||||0
|
||||||
row23 = ||||0
|
row23 = |||||0
|
||||||
row24 = ||||0
|
row24 = |||||0
|
||||||
row25 = ||||0
|
row25 = |||||0
|
||||||
row26 = ||||0
|
row26 = |||||0
|
||||||
row27 = ||||0
|
row27 = |||||0
|
||||||
row28 = ||||0
|
row28 = |||||0
|
||||||
row29 = ||||0
|
row29 = |||||0
|
||||||
row30 = ||||0
|
row30 = |||||0
|
||||||
row31 = ||||0
|
row31 = |||||0
|
||||||
row32 = ||||0
|
row32 = |||||0
|
||||||
row33 = ||||0
|
row33 = |||||0
|
||||||
row34 = ||||0
|
row34 = |||||0
|
||||||
row35 = ||||0
|
row35 = |||||0
|
||||||
row36 = ||||0
|
row36 = |||||0
|
||||||
row37 = ||||0
|
row37 = |||||0
|
||||||
row38 = ||||0
|
row38 = |||||0
|
||||||
row39 = ||||0
|
row39 = |||||0
|
||||||
row40 = ||||0
|
row40 = |||||0
|
||||||
row41 = ||||0
|
row41 = |||||0
|
||||||
row42 = ||||0
|
row42 = |||||0
|
||||||
row43 = ||||0
|
row43 = |||||0
|
||||||
row44 = ||||0
|
row44 = |||||0
|
||||||
row45 = ||||0
|
row45 = |||||0
|
||||||
row46 = ||||0
|
row46 = |||||0
|
||||||
row47 = ||||0
|
row47 = |||||0
|
||||||
row48 = ||||0
|
row48 = |||||0
|
||||||
row49 = ||||0
|
row49 = |||||0
|
||||||
row50 = ||||0
|
row50 = |||||0
|
||||||
row51 = ||||0
|
row51 = |||||0
|
||||||
row52 = ||||0
|
row52 = |||||0
|
||||||
row53 = ||||0
|
row53 = |||||0
|
||||||
row54 = ||||0
|
row54 = |||||0
|
||||||
row55 = ||||0
|
row55 = |||||0
|
||||||
row56 = ||||0
|
row56 = |||||0
|
||||||
row57 = ||||0
|
row57 = |||||0
|
||||||
row58 = ||||0
|
row58 = |||||0
|
||||||
row59 = ||||0
|
row59 = |||||0
|
||||||
row60 = ||||0
|
row60 = |||||0
|
||||||
row61 = ||||0
|
row61 = |||||0
|
||||||
row62 = ||||0
|
row62 = |||||0
|
||||||
row63 = ||||0
|
row63 = |||||0
|
||||||
row64 = ||||0
|
row64 = |||||0
|
||||||
row65 = ||||0
|
row65 = |||||0
|
||||||
row66 = ||||0
|
row66 = |||||0
|
||||||
row67 = ||||0
|
row67 = |||||0
|
||||||
row68 = ||||0
|
row68 = |||||0
|
||||||
row69 = ||||0
|
row69 = |||||0
|
||||||
row70 = ||||0
|
row70 = |||||0
|
||||||
row71 = ||||0
|
row71 = |||||0
|
||||||
row72 = ||||0
|
row72 = |||||0
|
||||||
row73 = ||||0
|
row73 = |||||0
|
||||||
row74 = ||||0
|
row74 = |||||0
|
||||||
row75 = ||||0
|
row75 = |||||0
|
||||||
row76 = ||||0
|
row76 = |||||0
|
||||||
row77 = ||||0
|
row77 = |||||0
|
||||||
row78 = ||||0
|
row78 = |||||0
|
||||||
row79 = ||||0
|
row79 = |||||0
|
||||||
row80 = ||||0
|
row80 = |||||0
|
||||||
row81 = ||||0
|
row81 = |||||0
|
||||||
row82 = ||||0
|
row82 = |||||0
|
||||||
row83 = ||||0
|
row83 = |||||0
|
||||||
row84 = ||||0
|
row84 = |||||0
|
||||||
row85 = ||||0
|
row85 = |||||0
|
||||||
row86 = ||||0
|
row86 = |||||0
|
||||||
row87 = ||||0
|
row87 = |||||0
|
||||||
row88 = ||||0
|
row88 = |||||0
|
||||||
row89 = ||||0
|
row89 = |||||0
|
||||||
row90 = ||||0
|
row90 = |||||0
|
||||||
row91 = ||||0
|
row91 = |||||0
|
||||||
row92 = ||||0
|
row92 = |||||0
|
||||||
row93 = ||||0
|
row93 = |||||0
|
||||||
row94 = ||||0
|
row94 = |||||0
|
||||||
row95 = ||||0
|
row95 = |||||0
|
||||||
row96 = ||||0
|
row96 = |||||0
|
||||||
row97 = ||||0
|
row97 = |||||0
|
||||||
row98 = ||||0
|
row98 = |||||0
|
||||||
|
|
||||||
[Quick_config]
|
[Quick_config]
|
||||||
log_time = 10
|
log_time = 10
|
||||||
|
@ -51,7 +51,9 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
self.pushButton_closeNet.setEnabled(False)
|
self.pushButton_closeNet.setEnabled(False)
|
||||||
|
|
||||||
# 发送框、文本框清除
|
# 发送框、文本框清除
|
||||||
self.textEditReceive.setText("")
|
self.textEditReceive.setPlainText("")
|
||||||
|
self.textEditReceive.setMaximumBlockCount(5000)
|
||||||
|
|
||||||
self.textEditSend.setText("")
|
self.textEditSend.setText("")
|
||||||
|
|
||||||
self.get_all_local_ips()
|
self.get_all_local_ips()
|
||||||
@ -77,6 +79,8 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
# 清除接收按钮
|
# 清除接收按钮
|
||||||
self.pushButtonClearReceive.clicked.connect(self.receive_data_clear)
|
self.pushButtonClearReceive.clicked.connect(self.receive_data_clear)
|
||||||
|
|
||||||
|
#
|
||||||
|
|
||||||
# 定时发送数据
|
# 定时发送数据
|
||||||
self.timer_send = QTimer()
|
self.timer_send = QTimer()
|
||||||
self.timer_send.timeout.connect(self.data_send)
|
self.timer_send.timeout.connect(self.data_send)
|
||||||
@ -190,15 +194,22 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
recv_addr = recv_data[1][0] + ':' + str(recv_data[1][1])
|
recv_addr = recv_data[1][0] + ':' + str(recv_data[1][1])
|
||||||
if not self.is_in_comboBox_channel(recv_addr):
|
if not self.is_in_comboBox_channel(recv_addr):
|
||||||
self.comboBox_channel.addItem(recv_addr)
|
self.comboBox_channel.addItem(recv_addr)
|
||||||
|
# 在接收窗口显示
|
||||||
|
# 获取到text光标
|
||||||
|
textCursor = self.textEditReceive.textCursor()
|
||||||
|
# 滚动到底部
|
||||||
|
textCursor.movePosition(textCursor.End)
|
||||||
|
# 设置光标到text中去
|
||||||
|
self.textEditReceive.setTextCursor(textCursor)
|
||||||
|
#选择要显示的通道
|
||||||
if recv_addr == self.comboBox_channel.currentText() or self.comboBox_channel.currentText() == "ALL":
|
if recv_addr == self.comboBox_channel.currentText() or self.comboBox_channel.currentText() == "ALL":
|
||||||
#self.textEditReceive.insertPlainText('<' + recv_addr+ '> ' )
|
#self.textEditReceive.insertPlainText('<' + recv_addr+ '> ' )
|
||||||
|
|
||||||
if self.checkBoxAddDate.isChecked():
|
if self.checkBoxAddDate.isChecked():
|
||||||
nowTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
nowTime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||||
nowTime = nowTime[:-3]
|
nowTime = nowTime[:-3]
|
||||||
#self.textEditReceive.insertPlainText(nowTime + " ")
|
self.textEditReceive.insertPlainText(nowTime + " ")
|
||||||
self.add_line_to_textedit(nowTime + " ")
|
#self.add_line_to_textedit(nowTime + " ")
|
||||||
# HEX显示数据
|
# HEX显示数据
|
||||||
if self.checkBoxHexReceive.checkState():
|
if self.checkBoxHexReceive.checkState():
|
||||||
# line_utf8_bytes = line_utf8.hex() # 编码为 UTF-8 字节串
|
# line_utf8_bytes = line_utf8.hex() # 编码为 UTF-8 字节串
|
||||||
@ -206,11 +217,9 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
# for byte in line_utf8_bytes:
|
# for byte in line_utf8_bytes:
|
||||||
# out_s += '{:02X} '.format(byte) # 使用大写字母 X
|
# out_s += '{:02X} '.format(byte) # 使用大写字母 X
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# self.textEditReceive.insertPlainText(out_s)
|
# self.textEditReceive.insertPlainText(out_s)
|
||||||
# self.textEditReceive.insertPlainText('\r\n')
|
self.textEditReceive.insertPlainText('<' + recv_addr + '> ' + out_s)
|
||||||
self.add_line_to_textedit('<' + recv_addr + '> ' + out_s)
|
#self.add_line_to_textedit('<' + recv_addr + '> ' + out_s)
|
||||||
|
|
||||||
# 解析数据
|
# 解析数据
|
||||||
self.Disp_hex_receive(line_utf8)
|
self.Disp_hex_receive(line_utf8)
|
||||||
@ -218,20 +227,12 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
# ASCII显示数据
|
# ASCII显示数据
|
||||||
else:
|
else:
|
||||||
#print("解码前",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"))
|
#print("解码前",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"))
|
||||||
#self.textEditReceive.insertPlainText(line_utf8)
|
self.textEditReceive.insertPlainText('<' + recv_addr + '> ' + line_utf8)
|
||||||
self.add_line_to_textedit('<' + recv_addr + '> ' + line_utf8)
|
#self.add_line_to_textedit('<' + recv_addr + '> ' + line_utf8)
|
||||||
#print("解码数据",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"))
|
#print("解码数据",datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"))
|
||||||
# 接收换行
|
# 接收换行
|
||||||
if self.checkBoxCRLF.isChecked():
|
if self.checkBoxCRLF.isChecked():
|
||||||
self.textEditReceive.insertPlainText('\r\n')
|
self.textEditReceive.insertPlainText('\r\n')
|
||||||
|
|
||||||
# 获取到text光标
|
|
||||||
textCursor = self.textEditReceive.textCursor()
|
|
||||||
# 滚动到底部
|
|
||||||
textCursor.movePosition(textCursor.End)
|
|
||||||
# 设置光标到text中去
|
|
||||||
self.textEditReceive.setTextCursor(textCursor)
|
|
||||||
|
|
||||||
# 统计接收字符的数量
|
# 统计接收字符的数量
|
||||||
self.data_num_received += num
|
self.data_num_received += num
|
||||||
self.lineEditReceiveNum.setText(str(self.data_num_received))
|
self.lineEditReceiveNum.setText(str(self.data_num_received))
|
||||||
@ -247,8 +248,6 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
sav_name = datetime.datetime.now().strftime("%Y-%m-%d") + '.log'
|
sav_name = datetime.datetime.now().strftime("%Y-%m-%d") + '.log'
|
||||||
sav_str = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f")[:23] + " " + out_s + "\r\n"
|
sav_str = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%f")[:23] + " " + out_s + "\r\n"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
line = line_utf8.split(',')
|
line = line_utf8.split(',')
|
||||||
if len(line) == 2:
|
if len(line) == 2:
|
||||||
@ -314,11 +313,13 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
for i in range(0, len(input_s)):
|
for i in range(0, len(input_s)):
|
||||||
out_s = out_s + '{:02X}'.format(input_s[i]) + ' '
|
out_s = out_s + '{:02X}'.format(input_s[i]) + ' '
|
||||||
print(out_s)
|
print(out_s)
|
||||||
self.add_line_to_textedit(out_s)
|
self.textEditReceive.insertPlainText(out_s)
|
||||||
|
#self.add_line_to_textedit(out_s)
|
||||||
|
|
||||||
# ASCII接收显示
|
# ASCII接收显示
|
||||||
else:
|
else:
|
||||||
self.add_line_to_textedit(input_s.decode('utf-8'))
|
self.textEditReceive.insertPlainText(input_s.decode('utf-8'))
|
||||||
|
#self.add_line_to_textedit(input_s.decode('utf-8'))
|
||||||
|
|
||||||
# 接收换行
|
# 接收换行
|
||||||
if self.checkBoxCRLF.isChecked():
|
if self.checkBoxCRLF.isChecked():
|
||||||
@ -425,9 +426,12 @@ class Pyqt5Net(QtWidgets.QWidget, Ui_UartAssistant):
|
|||||||
start = int(self.tableWidget.item(i, 1).text())
|
start = int(self.tableWidget.item(i, 1).text())
|
||||||
num = int(self.tableWidget.item(i, 2).text())
|
num = int(self.tableWidget.item(i, 2).text())
|
||||||
scale = int(self.tableWidget.item(i, 3).text())
|
scale = int(self.tableWidget.item(i, 3).text())
|
||||||
value = int(hexdata[start*2:(start+num)*2],16)/scale
|
hex_str = hexdata[start*2:(start+num)*2]
|
||||||
item = QTableWidgetItem(str(value))
|
item = QTableWidgetItem(hex_str)
|
||||||
self.tableWidget.setItem(i, 4, item)
|
self.tableWidget.setItem(i, 4, item)
|
||||||
|
value = int(hex_str,16)/scale
|
||||||
|
item = QTableWidgetItem(str(value))
|
||||||
|
self.tableWidget.setItem(i, 5, item)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
pass
|
pass
|
||||||
|
@ -207,7 +207,7 @@ class Ui_UartAssistant(object):
|
|||||||
self.tab1.setObjectName("tab1")
|
self.tab1.setObjectName("tab1")
|
||||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab1)
|
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab1)
|
||||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||||
self.textEditReceive = QtWidgets.QTextEdit(self.tab1)
|
self.textEditReceive = QtWidgets.QPlainTextEdit(self.tab1)
|
||||||
self.textEditReceive.setSizeIncrement(QtCore.QSize(0, 0))
|
self.textEditReceive.setSizeIncrement(QtCore.QSize(0, 0))
|
||||||
self.textEditReceive.setObjectName("textEditReceive")
|
self.textEditReceive.setObjectName("textEditReceive")
|
||||||
self.verticalLayout_2.addWidget(self.textEditReceive)
|
self.verticalLayout_2.addWidget(self.textEditReceive)
|
||||||
@ -221,7 +221,7 @@ class Ui_UartAssistant(object):
|
|||||||
self.tableWidget = QtWidgets.QTableWidget(self.tab2)
|
self.tableWidget = QtWidgets.QTableWidget(self.tab2)
|
||||||
self.tableWidget.setGridStyle(QtCore.Qt.SolidLine)
|
self.tableWidget.setGridStyle(QtCore.Qt.SolidLine)
|
||||||
self.tableWidget.setRowCount(10)
|
self.tableWidget.setRowCount(10)
|
||||||
self.tableWidget.setColumnCount(5)
|
self.tableWidget.setColumnCount(6)
|
||||||
self.tableWidget.setObjectName("tableWidget")
|
self.tableWidget.setObjectName("tableWidget")
|
||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
item.setBackground(QtGui.QColor(172, 172, 172))
|
item.setBackground(QtGui.QColor(172, 172, 172))
|
||||||
@ -235,8 +235,10 @@ class Ui_UartAssistant(object):
|
|||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
self.tableWidget.setHorizontalHeaderItem(3, item)
|
self.tableWidget.setHorizontalHeaderItem(3, item)
|
||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
item.setBackground(QtGui.QColor(172, 172, 172))
|
|
||||||
self.tableWidget.setHorizontalHeaderItem(4, item)
|
self.tableWidget.setHorizontalHeaderItem(4, item)
|
||||||
|
item = QtWidgets.QTableWidgetItem()
|
||||||
|
item.setBackground(QtGui.QColor(172, 172, 172))
|
||||||
|
self.tableWidget.setHorizontalHeaderItem(5, item)
|
||||||
self.tableWidget.horizontalHeader().setCascadingSectionResizes(False)
|
self.tableWidget.horizontalHeader().setCascadingSectionResizes(False)
|
||||||
self.tableWidget.horizontalHeader().setDefaultSectionSize(50)
|
self.tableWidget.horizontalHeader().setDefaultSectionSize(50)
|
||||||
self.tableWidget.horizontalHeader().setMinimumSectionSize(20)
|
self.tableWidget.horizontalHeader().setMinimumSectionSize(20)
|
||||||
@ -398,6 +400,8 @@ class Ui_UartAssistant(object):
|
|||||||
item = self.tableWidget.horizontalHeaderItem(3)
|
item = self.tableWidget.horizontalHeaderItem(3)
|
||||||
item.setText(_translate("UartAssistant", "scale"))
|
item.setText(_translate("UartAssistant", "scale"))
|
||||||
item = self.tableWidget.horizontalHeaderItem(4)
|
item = self.tableWidget.horizontalHeaderItem(4)
|
||||||
|
item.setText(_translate("UartAssistant", "hex"))
|
||||||
|
item = self.tableWidget.horizontalHeaderItem(5)
|
||||||
item.setText(_translate("UartAssistant", "value"))
|
item.setText(_translate("UartAssistant", "value"))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab2), _translate("UartAssistant", "解析"))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab2), _translate("UartAssistant", "解析"))
|
||||||
self.groupBox_7.setTitle(_translate("UartAssistant", "选择通道"))
|
self.groupBox_7.setTitle(_translate("UartAssistant", "选择通道"))
|
||||||
|
@ -494,7 +494,7 @@
|
|||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPlainTextEdit" name="plainTextEditReceive">
|
<widget class="QPlainTextEdit" name="textEditReceive">
|
||||||
<property name="sizeIncrement">
|
<property name="sizeIncrement">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
@ -525,7 +525,7 @@
|
|||||||
<number>10</number>
|
<number>10</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="columnCount">
|
<property name="columnCount">
|
||||||
<number>5</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -602,6 +602,11 @@
|
|||||||
<string>scale</string>
|
<string>scale</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>hex</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>value</string>
|
<string>value</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user