格式统一

This commit is contained in:
duxin
2026-07-01 17:33:52 +08:00
parent 1824d62d10
commit 385e5915af
5 changed files with 253 additions and 49 deletions

View File

@ -164,6 +164,24 @@ class LogManager(QObject):
if self._log_text is not None:
self._log_text.clear()
def info(self, message: str):
"""便捷方法:发布 info 级别日志。"""
global_event_bus.publish('LogMessage', {
'message': message, 'level': 'info',
})
def warning(self, message: str):
"""便捷方法:发布 warning 级别日志。"""
global_event_bus.publish('LogMessage', {
'message': message, 'level': 'warning',
})
def error(self, message: str):
"""便捷方法:发布 error 级别日志。"""
global_event_bus.publish('LogMessage', {
'message': message, 'level': 'error',
})
@property
def progress_bar(self) -> QProgressBar:
return self._progress_bar

View File

@ -17,6 +17,7 @@
import os
import sys
from pathlib import Path
from PyQt5.QtWidgets import QWidget, QTabWidget, QScrollArea, QSpinBox, QDoubleSpinBox, QComboBox
from PyQt5.QtCore import Qt
@ -301,6 +302,16 @@ class PanelFactory:
if not os.path.exists(absolute_path):
continue
# ★ 2026-07-01 加强:若是目录,必须非空(至少含 1 个文件),
# 防止 PipelineContext 预创建的空目录(如 9_ML_Prediction)被当作有效产出广播
if os.path.isdir(absolute_path):
try:
has_content = any(True for _ in Path(absolute_path).iterdir())
except (OSError, PermissionError):
has_content = False
if not has_content:
continue
global_event_bus.publish('OutputUpdated', {
'step_id': dep_step,
'output_type': output_type,