Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: andi от Июль 31, 2007, 05:42



Название: VBox+QFrame+QwtDial
Отправлено: andi от Июль 31, 2007, 05:42
Рисую интерфейс. Натыкал Frame-ов по форме. Объединил их как мне надо при помощи VBox и HBox. Типа форма. Потом я от нее наследуюсь, и в конструкторе размещаю свои виджеты. Есть у меня виджет типа QwtDial (точней наследник от него). Я ему при создании, в качестве парента указываю один из QFrame. Мне нужно чтобы это виджет занял все пространство QFrame.
Раньше в аналогичном случае, я в конструкторе виджета писал так:
setGeometry( QRect( 2, 2, parent->width() - 4, parent->height() - 4 ) );
И получалось все прелестно. В дезигнере кручу фрейм, а потом виджет туда хорошо встает.
К вопросу почему я сразу виджет в дезигнере не размещаю, скажу лишь то что, виджеты самопальные и находятся в процессе разработки. Поэтому интегрировать их в дезигнер рано, да и смысла нет.
Так вот. Пока QFrame на форме лежал самостоятельно. Виджет в него вписывался согласно установке.
Как только QFrame я положил в VBox. Виджет перестал растягиваться на весь фрейм. Я так понимаю, там нужно что-то подкрутить c sizePolicy. Но я перепробовал все варианты - эффекта нет.


Название: VBox+QFrame+QwtDial
Отправлено: Racheengel от Август 05, 2007, 08:10
политику для фрейма установи,
например setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);