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:
+6
-2
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user