如何根据gridLayout大小设置Qt动态更改窗口大小?

时间:2015-06-29 18:31:49

标签: qt

我的程序会根据您提供的尺寸向gridLayout添加按钮。例如,如果你给它10X10,它将打开一个带有10X10网格QToolButtons的新窗口。我想要做的是完成新窗口后,将窗口大小调整到网格布局占用的最小值。为此,我已设置此声明:

this->resize((20 * number_of_rows) + (10 * (number_of_rows-1), (20 * number_of_columns) + ((number_of_columns-1) * 10 ));

按钮尺寸为20X20,它们之间的间距为10.理论上,代码应该使窗口足够大以适应网格,但事实并非如此。这是我得到的15X1输入:最后一个按钮被切断。 我得到的30X1:只显示24个按钮,它不够宽。

为什么窗口的大小不一致?

1 个答案:

答案 0 :(得分:1)

我明白了:this->resize(ui->gridLayout->sizeHint()); 做了伎俩。