当使用带有动态内容的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个,窗口的尺寸会很大
最佳答案
实际上,我最终通过将我的内容包装在一个小部件中(例如 MainWindow 的 centralWidget)并在我的小部件上调用 adjustSize()
来解决这个问题
关于c++ - QDialog 不会自动缩小以适应它的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870012/