add back GUI 2D display with optional raw / pure color background
This commit is contained in:
@@ -102,12 +102,16 @@ class FingerDashboardWindow(QMainWindow):
|
||||
self.settings_panel.set_video_source(str(self.config.video))
|
||||
self.settings_panel.set_config_path(self.config.config)
|
||||
self.settings_panel.set_calibration_path(self.config.calib or "")
|
||||
self.settings_panel.set_finger_export_dir(self.config.export_dir)
|
||||
|
||||
self.settings_panel.log_visibility_changed.connect(self._set_log_panel_visible)
|
||||
self.settings_panel.free_rotation_changed.connect(self.mesh_viewport.set_free_rotation)
|
||||
if self.arrow_panel is not None:
|
||||
self.settings_panel.arrow_background_changed.connect(self.arrow_panel.set_background)
|
||||
self.settings_panel.view_reset_requested.connect(self.mesh_viewport.reset_view)
|
||||
self.settings_panel.browse_video_requested.connect(self._select_camera)
|
||||
self.settings_panel.browse_config_requested.connect(self._select_config)
|
||||
self.settings_panel.browse_finger_assets_requested.connect(self._select_finger_assets)
|
||||
self.settings_panel.btn_play_pause.clicked.connect(self._on_play_pause_clicked)
|
||||
self.settings_panel.btn_reset_tracker.clicked.connect(self._on_reset)
|
||||
self.settings_panel.set_play_pause_state("run")
|
||||
@@ -212,12 +216,14 @@ class FingerDashboardWindow(QMainWindow):
|
||||
if self._running:
|
||||
return
|
||||
self._set_play_pause_button("starting")
|
||||
self.settings_panel.set_finger_export_dir_enabled(False)
|
||||
QApplication.processEvents()
|
||||
|
||||
self.config.video = self.settings_panel.video_source()
|
||||
self.config.config = self.settings_panel.config_path()
|
||||
cal = self.settings_panel.calibration_path()
|
||||
self.config.calib = cal or None
|
||||
self.config.export_dir = self.settings_panel.finger_export_dir()
|
||||
|
||||
try:
|
||||
self.pipeline = FingerPipeline(self.config)
|
||||
@@ -228,6 +234,7 @@ class FingerDashboardWindow(QMainWindow):
|
||||
except Exception as exc:
|
||||
self.mesh_viewport.close_renderer()
|
||||
self._set_play_pause_button("run")
|
||||
self.settings_panel.set_finger_export_dir_enabled(True)
|
||||
print(f"启动失败: {exc}")
|
||||
return
|
||||
|
||||
@@ -239,7 +246,7 @@ class FingerDashboardWindow(QMainWindow):
|
||||
self.settings_panel.btn_reset_tracker.setEnabled(True)
|
||||
print(
|
||||
f"▶ 启动 — 摄像机={self.config.video}, 配置={self.config.config}, "
|
||||
f"标定={self.config.calib or '(none)'}"
|
||||
f"标定={self.config.calib or '(none)'}, 资产={self.config.export_dir}"
|
||||
)
|
||||
|
||||
def _on_stop(self) -> None:
|
||||
@@ -256,6 +263,7 @@ class FingerDashboardWindow(QMainWindow):
|
||||
|
||||
self._set_play_pause_button("run")
|
||||
self.settings_panel.btn_reset_tracker.setEnabled(False)
|
||||
self.settings_panel.set_finger_export_dir_enabled(True)
|
||||
|
||||
def _on_reset(self) -> None:
|
||||
if not self._running:
|
||||
@@ -353,6 +361,15 @@ class FingerDashboardWindow(QMainWindow):
|
||||
if path:
|
||||
self.settings_panel.set_config_path(path)
|
||||
|
||||
def _select_finger_assets(self) -> None:
|
||||
path = QFileDialog.getExistingDirectory(
|
||||
self,
|
||||
"选择 finger 资产目录",
|
||||
self.settings_panel.finger_export_dir() or "assets/finger",
|
||||
)
|
||||
if path:
|
||||
self.settings_panel.set_finger_export_dir(path)
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
key = event.key()
|
||||
if key == Qt.Key_Escape:
|
||||
|
||||
Reference in New Issue
Block a user