Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: west от Декабрь 01, 2010, 10:40



Название: Размещение QWidget на QTabWidget
Отправлено: west от Декабрь 01, 2010, 10:40
Виджет, размещен на одной из вкладок QTabWidget. При изменении размеров окна изменяется и размер QTabWidget, а чтобы вместе с ним изменялся и QWidget я разместил его на QHBoxLayout, а последний на одной из вкладок QTabWidget. Все нормально, QWidget меняет размеры соответственно с окном. Проблема в том, что QWidget может изменять свои размеры в фиксированном диапазоне.  Получается, что когда тяну за уголочек QTabWidget, и размер окна увеличивается, в какой-то момент QWidget достигает максимально установленного размера а главное окошко тянется дальше. Соответственно появляется не нужная серая область. Хотелось бы, чтобы QTabWidget не увеличивался более размера размещенного на нем QWidget. Давно не работал с Qt, подскажите, плз, чего сделать надо.
Qt 3.3.8


Название: Re: Размещение QWidget на QTabWidget
Отправлено: GreatSnake от Декабрь 01, 2010, 10:46
QWidget::topLevelWidget()->setMaximumSize();


Название: Re: Размещение QWidget на QTabWidget
Отправлено: west от Декабрь 01, 2010, 11:03
QWidget::topLevelWidget()->setMaximumSize();
Дак а вроде для setMaximumSize() параметр нужен, QSize. Для этого его нужно вычислить, и как это сделать мне понятно. Я думал может у Qt есть возможность настроить политику изменения окна соответствующим образом.
Кстати, если использовать setMaximumSize(), в каком месте его лучше вызвать для QTabWidget, с учетом того, что изначально добавляется QWidget 200*200 пикселей, а потом он может изменяться в зависимости от пожеланий пользователя (масштаб). Вроде если тянуть это дело из самого дочернего виджета, то как-то не правильно...
Впихивать проверку в resizeEvent - тож вроде не очень красиво...