From dbde07c0e8255176342b39cc1309e819bc1372cb Mon Sep 17 00:00:00 2001 From: Martin Laasmaa Date: Thu, 11 Dec 2025 23:12:39 +0200 Subject: [PATCH] Making training tab scrollable --- src/gui/tabs/training_tab.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/gui/tabs/training_tab.py b/src/gui/tabs/training_tab.py index a3af7e2..5d86fe4 100644 --- a/src/gui/tabs/training_tab.py +++ b/src/gui/tabs/training_tab.py @@ -28,6 +28,7 @@ from PySide6.QtWidgets import ( QSpinBox, QDoubleSpinBox, QCheckBox, + QScrollArea, ) from src.database.db_manager import DatabaseManager @@ -225,12 +226,23 @@ class TrainingTab(QWidget): def _setup_ui(self): """Setup user interface.""" - layout = QVBoxLayout() + # Create a container widget for all content + container = QWidget() + container_layout = QVBoxLayout(container) - layout.addWidget(self._create_dataset_group()) - layout.addWidget(self._create_training_controls_group()) - layout.addStretch() - self.setLayout(layout) + container_layout.addWidget(self._create_dataset_group()) + container_layout.addWidget(self._create_training_controls_group()) + container_layout.addStretch() + + # Create scroll area and set the container as its widget + scroll_area = QScrollArea() + scroll_area.setWidget(container) + scroll_area.setWidgetResizable(True) + + # Set main layout with scroll area + main_layout = QVBoxLayout(self) + main_layout.setContentsMargins(0, 0, 0, 0) + main_layout.addWidget(scroll_area) self._discover_datasets() self._load_saved_dataset()