使用带有动态内容的QDialog
时,窗口的大小可能会变得更大,以便更好地适应内容。
但是,在我的情况下,如果内容变小(我的情况下,表单可能因所做的选择而有所不同),我也希望自动减小它的大小。
我该如何达到这种行为?
由于
可以通过添加两个按钮来复制:
void MainWindow::on_pushButton_2_clicked()
{
for (int i=0; i<12; i++) {
QPushButton *button = new QPushButton("Blha");
buttons.push_back(button);
ui->zone->addWidget(button);
}
adjustSize();
}
void MainWindow::on_pushButton_clicked()
{
for (int i=0; i<10; i++)
if (buttons.size()) {
QPushButton *button = buttons.back();
buttons.pop_back();
ui->zone->removeWidget(button);
delete button;
}
adjustSize();
}
如果您创建上面的12个按钮然后销毁其中的10个,那么窗口的大小将非常大
答案 0 :(得分:1)
实际上,我最终通过将我的内容包装在一个小部件(如MainWindow的centralWidget)中并在我的小部件上调用adjustSize()
来解决这个问题