2013-03-03 4 views
0

У меня возникли проблемы с созданием нового виджета QT для заполнения всего доступного пространства.Как сделать новые виджеты заполнять свободное пространство?

Я хочу добавить виджет (QGLWidget) в вертикулярный макет (mVisual) и изменить размер макета, чтобы mVisual занимал максимальное количество области.

Моя раскладка выглядит следующим образом:

enter image description here

код у меня есть

ui.setupUi(this); 
mWidget = new glStream(); 
//mWidget->setMinimumHeight(480); 
//mWidget->setMinimumWidth(480); 
ui.mVisual->addWidget(mWidget); 

Проблема заключается в том, что если я не вручную установить ширину или высоту, я не могу даже увидеть мой виджет, когда я его добавлю!

Единственное, что я могу придумать, это выполнить какую-то арифметику, например parentSize-lytControlsSize, но это кажется грязным и похожим на MFC.

Как я могу разместить мои виджеты так, чтобы один макет (mVisual) был минимальным, а другой максимальным?

+0

Посмотрите на QSizePolicy, у него есть несколько флагов для управления виджетами, когда он получает свободное пространство. – ixSci

ответ

2

Если вы поместите свой виджет в макет, виджет заполнит все свободное пространство в родительской области, и если вы хотите заполнить без полей, установите поля макета в 0.

 Смежные вопросы

  • Нет связанных вопросов^_^