update dd06 display
This commit is contained in:
@@ -13,6 +13,7 @@ from PyQt5.QtCore import Qt, QTimer
|
||||
from PyQt5.QtGui import QFont, QIcon
|
||||
from PyQt5.QtWidgets import (
|
||||
QApplication,
|
||||
QComboBox,
|
||||
QFileDialog,
|
||||
QHBoxLayout,
|
||||
QLabel,
|
||||
@@ -35,7 +36,12 @@ from gui.sensors import create_sensor_adapter
|
||||
from gui.widgets.log_panel import TeeStream, WidgetLogHandler, make_log_widget
|
||||
from gui.widgets.qt_pixmap import ndarray_to_pixmap, pixmap_keep_aspect
|
||||
|
||||
from .backend import PLOT_BUFFER_POINTS, PLOT_WINDOW_SEC, QtViewerBackend, panel_width_for_aspect
|
||||
from .backend import (
|
||||
PLOT_BUFFER_POINTS,
|
||||
PLOT_WINDOW_SEC,
|
||||
QtViewerBackend,
|
||||
panel_width_for_aspect,
|
||||
)
|
||||
from .styles import CURVE_THEME_COLOR, STYLE
|
||||
|
||||
|
||||
@@ -127,6 +133,17 @@ class QtViewerWindow(QMainWindow):
|
||||
self.btn_stop.clicked.connect(self._on_stop)
|
||||
bar.addWidget(self.btn_stop)
|
||||
|
||||
bg_caption = QLabel("背景")
|
||||
bg_caption.setObjectName("toolbarCaption")
|
||||
bar.addWidget(bg_caption)
|
||||
self.bg_combo = QComboBox()
|
||||
self.bg_combo.setObjectName("bgCombo")
|
||||
self.bg_combo.addItem("纯色背景", "pure_color")
|
||||
self.bg_combo.addItem("采集图像", "captured")
|
||||
self.bg_combo.setCurrentIndex(0)
|
||||
self.bg_combo.currentIndexChanged.connect(self._on_arrow_background_changed)
|
||||
bar.addWidget(self.bg_combo)
|
||||
|
||||
root_layout.addLayout(bar)
|
||||
|
||||
v_splitter = QSplitter(Qt.Vertical)
|
||||
@@ -391,6 +408,23 @@ class QtViewerWindow(QMainWindow):
|
||||
self.sensor_adapter.reset()
|
||||
print("追踪器已重置。")
|
||||
|
||||
def _on_arrow_background_changed(self, _index: int) -> None:
|
||||
value = self.bg_combo.currentData()
|
||||
if value not in ("pure_color", "captured"):
|
||||
return
|
||||
self.viewer_backend.set_arrow_background(value)
|
||||
if self._last_snapshot is None:
|
||||
return
|
||||
viewer_frame = self.viewer_backend.rebuild_display(self._last_snapshot)
|
||||
self._last_viewer_frame = viewer_frame
|
||||
aspect_changed = abs(viewer_frame.aspect_ratio - self._display_aspect) > 1e-3
|
||||
self._display_aspect = viewer_frame.aspect_ratio
|
||||
self._source_pixmap = ndarray_to_pixmap(viewer_frame.display_image, bgr=True)
|
||||
if aspect_changed:
|
||||
self.adjust_image_panel()
|
||||
else:
|
||||
self._render_display_pixmap()
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
key = event.key()
|
||||
if key == Qt.Key_Escape:
|
||||
|
||||
Reference in New Issue
Block a user