qsplitter children sizes
-
i have two widgets and i need to place them inside a splitter.
this is what i have:
auto widget1 = new QWidget(this); auto widget2 = new QWidget(this); widget2->setFixedHeight(60); auto splitter = new QSplitter(Qt::Vertical, this); splitter->addWidget(widget1); splitter->addWidget(widget2); splitter->setChildrenCollapsible(false); splitter->setStretchFactor(0, 50); splitter->setStretchFactor(1, 0); splitter->setSizes(QList() << widget1->sizeHint().height() << widget2->height()); splitter->show();
the problem is that i need the second widget small and the first one to be its normal size.
when i don't add the second widget, first one has the ideal size for me.
when i add the second one, the first one becomes bigger than the ideal size.above is what i've tried to apply to fix it but no luck. any idea?
-
Hi
Do you mean one normal height and one less than full height ?
it seems not to really like it. (using max height)
-
Hi
From small tests i just did, it dont seems like QSplitter allows/supports
different heights for the widgets. will it seems to work for a moment using
fixed/setmax methods, it behaves oddly when refreshed. -
Hi
You could put 2 grid layouts in the splitter. seems to work pretty ok
-
how do i add a layout to splitter?
-
@user4592357 said in qsplitter children sizes:
how do i add a layout to splitter?
You don't. You create two layouts like @mrjj shown, then select both and then click on "Lay Out horizontally in Splitter.
-
@user4592357 Then add two widgets and in each widget add a layout
-
Hi
You could just use designer
and then take the c++ code.
Code is in setupUI() -
@user4592357
Hi
Im not sure what goes wrong. the concept seems to work.
do u have mutiple widgets pr side in splitter of what is difference to the mini test? -
@user4592357
Hi
yes, the Splitter adjust a bit to the sizehints of the widgets if no min/max is set.
So the issue is that they become smaller when inserted into splitter ? -
@user4592357
but do you set min/max on them or how do you control size ? -
@user4592357
you set the min/max on the widgets?
it works here.