Как сделать разные страницы QStackedWidget разных размеров?


У меня есть QStackWidget С 2 страницами. Одна страница содержит только 2 виджета QLineEdit, а другая страница содержит большой QTextEdit. Кто-нибудь знает, как сделать одну страницу больше другой, чтобы окно по-прежнему плотно прилегало к каждой странице? В Qt Designer QStackWidget должен иметь больший размер, чтобы сначала QTextEdit, но тогда страница с виджетами QLineEdit будет слишком большой.

Спасибо

1 2
qt

1 ответ:

Вы можете задать политику размера отображаемой страницы в QSizePolicy.Preferred, а других-в QSizePolicy.Ignored. После этого вызовите adjustSize, чтобы обновить размеры. Например, когда вы задаете текущий индекс для отображения page1:

page1.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
page2.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Ignored)

stackedWidget.adjustSize()
adjustSize()

А когда появится другая страница, установите политики размера в другую сторону.