diff --git a/src/pyside6/gui_pyside6.py b/src/pyside6/gui_pyside6.py index 265cbd8..fa96f46 100644 --- a/src/pyside6/gui_pyside6.py +++ b/src/pyside6/gui_pyside6.py @@ -14,7 +14,7 @@ class ResizingTabWidget(QTabWidget): self.main_window = main_window self.currentChanged.connect(self.updateGeometry) - self.setSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed) + self.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) self.setGeometry(0, 0, 20, 20) self.trade_collections = {} @@ -27,15 +27,15 @@ class ResizingTabWidget(QTabWidget): def sizeHint(self): current = self.currentWidget() if not current: - # print(f'Super SIZEHINT {super().sizeHint()}') return super().sizeHint() - # print(f'SIZEHINT {current.sizeHint()}') size = current.sizeHint() size.setHeight(size.height() + self.tabBar().sizeHint().height()) + size.setWidth(max(size.width(), self.tabBar().sizeHint().width())) return size def updateSizes(self): + self.adjustSize() self.main_window.updateSizes() def new_trade(self, message: Message): @@ -79,21 +79,15 @@ class MainWindow(QMainWindow): self.tab_widget = ResizingTabWidget(self) self.tab_widget.currentChanged.connect(self.updateSizes) - # self.tab_widget = QTabWidget(self) self.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) self.setGeometry(0, 0, 20, 20) self.setCentralWidget(self.tab_widget) def updateSizes(self): - for i in range(0, 10): - QApplication.processEvents() - log.debug(f'updateSizes {self.tab_widget.minimumSizeHint()}') - # self.resize(QtCore.QSize(200,200)) - self.resize(self.tab_widget.minimumSizeHint()) QApplication.processEvents() - self.repaint() - # self.adjustSize() + log.debug(f'updateSizes {self.tab_widget.minimumSizeHint()} / {self.sizeHint()}') + self.resize(self.tab_widget.minimumSizeHint()) @QtCore.Slot() def new_trade(self, message: Message):