diff options
| author | Christian Kolset <christian.kolset@gmail.com> | 2026-04-23 10:52:37 -0600 |
|---|---|---|
| committer | Christian Kolset <christian.kolset@gmail.com> | 2026-04-23 10:52:37 -0600 |
| commit | 4244e5d97da0273fed70f734a4cfe822bd15c9cb (patch) | |
| tree | 225943bad9854f5ee08ac8f0c122e1b42a6525b6 /ui/main_window.py | |
| parent | 99445c6fd2fd4f15df828c79600b96b80fa1cfa6 (diff) | |
Fixed clear signal feature to inlcude all signals
Diffstat (limited to 'ui/main_window.py')
| -rw-r--r-- | ui/main_window.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/ui/main_window.py b/ui/main_window.py index ec0f39d..483ca49 100644 --- a/ui/main_window.py +++ b/ui/main_window.py @@ -10,10 +10,23 @@ from PyQt6.QtWidgets import ( QMainWindow, QWidget, QHBoxLayout, QVBoxLayout, QSplitter, QStatusBar, QLabel, QPushButton, QToolBar, QSizePolicy, QApplication, QFrame, + QAbstractSpinBox, QComboBox, ) -from PyQt6.QtCore import Qt, QTimer, pyqtSlot +from PyQt6.QtCore import Qt, QTimer, QObject, QEvent, pyqtSlot import os + +class _WheelBlocker(QObject): + """App-level event filter: blocks accidental scroll-wheel changes on + spin boxes, combo boxes and sliders that don't have keyboard focus.""" + def eventFilter(self, obj, event): + if event.type() == QEvent.Type.Wheel: + if isinstance(obj, (QAbstractSpinBox, QComboBox)): + if not obj.hasFocus(): + event.ignore() + return True + return super().eventFilter(obj, event) + from devices.analog_input import AnalogInputDevice from devices.digital_io import DigitalIODevice from devices.serial_device import SerialDevice @@ -52,6 +65,9 @@ class MainWindow(QMainWindow): self._win_plot = None self._win_settings = None + self._wheel_blocker = _WheelBlocker(self) + QApplication.instance().installEventFilter(self._wheel_blocker) + self._init_demo_devices() self._build_ui() self._connect_signals() @@ -345,6 +361,7 @@ class MainWindow(QMainWindow): def _clear_history(self): self.engine.clear_history() + self.processor.clear_history() self._chart.refresh() self._status.setText("History cleared.") |
