LINUX.ORG.RU

QT, splitter, относительный размер виджетов


0

0

Qt 4.2.2, окно на основе QSplitter. Слева - свой виджет на основе .ui с различнми контролами, справа - QGLWidget. Проблема в том, что не получается никакими средствами заставить виджет с контролами принять по умолчанию минимальный размер.

StretchFactor установлен 0/1, пробовал все что можно - и все комбинации sizePolicy, и вручную вызывал resize - пофик, хоть убейся, но виджет с контролами раза в 1.5 больше чем мог бы быть. При этом, двигая сплиттер, его можно ужать до меньшего размера без проблем.

Что делать?


>Что делать?

К сожалению уже не помню что именно делать, но я это делал. Точно.

Единственное, помню что тоже немного помучился... =(

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за подсказки. Дело действительно было в хинтах - надо было sizeHint() переопределить в классе своего виджета, иначе по умолчанию он считается в зависимости от желаний дочерних виджетов, а кто их там знает что они хотят..

Вот так получилось удобно:

QSize MyWidget::sizeHint() const {
return QSize(minimumSize().width() ? minimumSize().width() : minimumSizeHint().width(), QWidget::sizeHint().height());
}

Т.е. минимальный размер можно либо задать руками в Designer'е, либо не задавать и тогда будет использоваться абсолютный минимальный размер.

AMDmi3
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.