From 616552063dbd3de4faf09addcfd889f9a04fa467 Mon Sep 17 00:00:00 2001 From: KeksNino Date: Sat, 21 Mar 2026 01:47:46 +0100 Subject: [PATCH] fix gui not starting, caused by tabhelper --- src/interface/dialogs/settings.py | 10 +++++----- src/interface/gui.py | 4 ++-- src/interface/utils/tabhelper.py | 10 ++++++++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/interface/dialogs/settings.py b/src/interface/dialogs/settings.py index 795a9c8..0682323 100644 --- a/src/interface/dialogs/settings.py +++ b/src/interface/dialogs/settings.py @@ -261,12 +261,12 @@ def settings_dialog(self): layout.addWidget(cancel_btn) layout.addWidget(save_btn) - self.tabs = QtWidgets.QTabWidget() - create_tab("General", [autoresume_container, update_checkbox_container, transparent_window_container], tabs=self.tabs) - create_tab("Paths", [download_path_container, image_path_container], tabs=self.tabs) - create_tab("Network", [interface_container, max_connections_container, max_downloads_container, up_speed_limit_container, down_speed_limit_container, api_url_container], tabs=self.tabs) + tabs = QtWidgets.QTabWidget() + create_tab("General", [autoresume_container, update_checkbox_container, transparent_window_container], tabs=tabs, stretch=True) + create_tab("Paths", [download_path_container, image_path_container], tabs=tabs, stretch=True) + create_tab("Network", [interface_container, max_connections_container, max_downloads_container, up_speed_limit_container, down_speed_limit_container, api_url_container], tabs=tabs, stretch=True) - dialog_layout.addWidget(self.tabs) + dialog_layout.addWidget(tabs) dialog_layout.addLayout(layout) dialog.exec() diff --git a/src/interface/gui.py b/src/interface/gui.py index 2c95efb..851e115 100644 --- a/src/interface/gui.py +++ b/src/interface/gui.py @@ -164,8 +164,8 @@ class MainWindow(QtWidgets.QMainWindow, QWidget): self.horizontal_layout.addWidget(state.trackertable) # Tabs - create_tab("Search", [self.searchbar, state.trackertable, self.tabs, self.dlbutton, self.horizontal_layout], tabs=self.tabs) - create_tab("Downloads", [self.emptyDownload, self.downloadList], tabs=self.tabs) + create_tab("Search", [self.searchbar, state.trackertable, self.dlbutton, self.horizontal_layout], tabs=self.tabs, stretch=False) + create_tab("Downloads", [self.emptyDownload, self.downloadList], tabs=self.tabs, stretch=False) # Corner Widget (Settings Button, Tracker list, Tab button container) self.corner_widget = QWidget() diff --git a/src/interface/utils/tabhelper.py b/src/interface/utils/tabhelper.py index d517835..a328979 100644 --- a/src/interface/utils/tabhelper.py +++ b/src/interface/utils/tabhelper.py @@ -1,18 +1,24 @@ from PySide6.QtWidgets import QWidget, QVBoxLayout, QLayout # Tab creation helper function -def create_tab(title, items, *, tabs, stretch=False): +def create_tab(title, items, tabs, stretch): tab = QWidget() layout = QVBoxLayout() + for item in items: if item is None: continue + if isinstance(item, QLayout): - layout.addLayout(item) + wrapper = QWidget() + wrapper.setLayout(item) + layout.addWidget(wrapper) else: layout.addWidget(item) + if stretch: layout.addStretch() + tab.setLayout(layout) tabs.addTab(tab, title) return tab