fix: MqttClient 回退信号方案,添加 publish debug 日志追踪阻塞点

- 移除 QObject 基类和 QueuedConnection 信号方案
- publish() 直接调用 self._client.publish() 并打印前后日志
- 添加 print(flush=True) 确保 Windows 终端实时输出

目的是确认阻塞发生在:
  [MqttClient] publish topic=... qos=1  ← 打印后消失?
  [MqttClient] publish done mid=...      ← 这行能否出现?
This commit is contained in:
wangfq
2026-07-07 17:27:15 +08:00
parent baa82c895d
commit c98aa5b0bb
2 changed files with 41 additions and 37 deletions
+6 -2
View File
@@ -39,6 +39,8 @@ from dbn_mqtt_tool.protocol import (
)
class MainWindow(QMainWindow):
_mqtt_status = Signal(bool, str)
_mqtt_msg = Signal(str, str, object)
_devices_changed = Signal()
def __init__(self):
@@ -50,10 +52,12 @@ class MainWindow(QMainWindow):
self._mqtt = MqttClient()
self._devmgr = DeviceManager()
self._mqtt._status_notify.connect(self._on_status)
self._mqtt._msg_notify.connect(self._on_message)
self._mqtt.on_status_change(lambda c, m: self._mqtt_status.emit(c, m))
self._mqtt.on_message(lambda t, s, p: self._mqtt_msg.emit(t, s, p))
self._devmgr.on_change(lambda: self._devices_changed.emit())
self._mqtt_status.connect(self._on_status)
self._mqtt_msg.connect(self._on_message)
self._devices_changed.connect(self._refresh_devices)
self._build_ui()