Important: Please read the Qt Code of Conduct -

Setting the geometry of a form after setting the layout

  • Hi all,

    I have a form in which I create the radiobuttons at runtime.
    What I do is:

    @ lay->setVerticalSpacing(1);

    foreach(QString str_cap, cap)
        QRadioButton *button1 = new QRadioButton();
        lay->addWidget(button1, localcount, int(localcount/10));
        group->addButton(button1, count);


    This works perfect to show the first set of radiobuttons. Whenever user clicks on a radiobutton, I make existing radiobuttons hidden using the following code:

    @ foreach(QAbstractButton *but, group->buttons())

    This code works also good, I see the the all existing radiobuttons become hidden. However, I use the same function to recreate a second bunch of radiobuttons. What happens is that, my code hides the first group and shows the new bunch but the form size comes as zero. So, after clicking on a radiobutton in the first group, the second group is shown but I can only see it after resizing the form window with mouse. So, how can I adjust the size of the layout after adding-removing some radiobuttons?

  • Lifetime Qt Champion


    You shouldn't need to but you can try to call adjustSize

    Hope it helps

Log in to reply