Files
pythonocc-step-editor/step_editor/workers.py
T
nikelaluo 26216064e0 feat: 拆分 STEP 编辑器并完善最小系统
将原来的 main.py/step_model.py 拆分为 step_editor 包,补充测量、同域高亮、模型修复、历史导出、槽宽/凸台/边长等 MVP 编辑能力,并更新 README 和忽略规则。
2026-07-27 18:28:26 +08:00

52 lines
1.1 KiB
Python

from __future__ import annotations
from PySide6.QtCore import QObject, Signal, Slot
class EditWorker(QObject):
finished = Signal(object)
failed = Signal(str)
def __init__(self, action):
super().__init__()
self.action = action
@Slot()
def run(self) -> None:
try:
self.finished.emit(self.action())
except Exception as exc:
self.failed.emit(str(exc))
class ScanWorker(QObject):
finished = Signal(object)
failed = Signal(str)
def __init__(self, action):
super().__init__()
self.action = action
@Slot()
def run(self) -> None:
try:
self.finished.emit(self.action())
except Exception as exc:
self.failed.emit(str(exc))
class LoadWorker(QObject):
finished = Signal(object)
failed = Signal(str)
def __init__(self, action):
super().__init__()
self.action = action
@Slot()
def run(self) -> None:
try:
self.finished.emit(self.action())
except Exception as exc:
self.failed.emit(str(exc))