From 2790e2fc1a95429048744e6f36ec01670adcd813 Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Fri, 27 Mar 2026 13:25:22 +0100 Subject: [PATCH 1/2] feat: Allow move borders between image view and algorithm options --- package/PartSeg/_roi_mask/main_window.py | 42 +++++++++++++++--------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/package/PartSeg/_roi_mask/main_window.py b/package/PartSeg/_roi_mask/main_window.py index 98d29ddcf..386e081ba 100644 --- a/package/PartSeg/_roi_mask/main_window.py +++ b/package/PartSeg/_roi_mask/main_window.py @@ -956,23 +956,8 @@ def __init__( self._setup_menu_bar() - layout = QVBoxLayout() - layout.addWidget(self.main_menu) - sub_layout = QHBoxLayout() - sub2_layout = QVBoxLayout() - sub3_layout = QVBoxLayout() - sub_layout.addWidget(self.multiple_files) - sub_layout.addWidget(self.color_bar, 0) - sub3_layout.addWidget(self.image_view, 1) - sub3_layout.addWidget(self.info_text, 0) - sub2_layout.addWidget(self.options_panel, 1) - sub2_layout.addWidget(self.channel_control, 0) - - sub_layout.addLayout(sub3_layout, 1) - sub_layout.addLayout(sub2_layout, 0) - layout.addLayout(sub_layout) self.widget = QWidget() - self.widget.setLayout(layout) + self.widget.setLayout(self._create_layout()) self.setCentralWidget(self.widget) if initial_image is None: reader = TiffImageReader() @@ -985,6 +970,31 @@ def __init__( geometry = self.settings.get_from_profile("main_window_geometry") self.restoreGeometry(QByteArray.fromHex(bytes(geometry, "ascii"))) + def _create_layout(self) -> QVBoxLayout: + layout = QVBoxLayout() + layout.addWidget(self.main_menu) + splitter = QSplitter(Qt.Orientation.Horizontal) + splitter.addWidget(self.multiple_files) + widget_image = QWidget() + sub_layout = QHBoxLayout() + sub2_layout = QVBoxLayout() + sub3_layout = QVBoxLayout() + sub_layout.addWidget(self.color_bar, 0) + sub3_layout.addWidget(self.image_view, 1) + sub3_layout.addWidget(self.info_text, 0) + sub_layout.addLayout(sub3_layout, 1) + widget_image.setLayout(sub_layout) + splitter.addWidget(widget_image) + + sub2_layout.addWidget(self.options_panel, 1) + sub2_layout.addWidget(self.channel_control, 0) + options_widget = QWidget() + options_widget.setLayout(sub2_layout) + splitter.addWidget(options_widget) + + layout.addWidget(splitter) + return layout + def _setup_menu_bar(self): menu_bar = self.menuBar() file_menu = menu_bar.addMenu("File") From bc776d1ba16b0b0a9ad993afbf365622bcf93a71 Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Fri, 27 Mar 2026 13:40:14 +0100 Subject: [PATCH 2/2] fix layout for buttons --- package/PartSeg/_roi_mask/main_window.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/PartSeg/_roi_mask/main_window.py b/package/PartSeg/_roi_mask/main_window.py index 386e081ba..4b4be2275 100644 --- a/package/PartSeg/_roi_mask/main_window.py +++ b/package/PartSeg/_roi_mask/main_window.py @@ -992,7 +992,7 @@ def _create_layout(self) -> QVBoxLayout: options_widget.setLayout(sub2_layout) splitter.addWidget(options_widget) - layout.addWidget(splitter) + layout.addWidget(splitter, 1) return layout def _setup_menu_bar(self):