我的程序会根据您提供的尺寸向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个按钮,它不够宽。
为什么窗口的大小不一致?
答案 0 :(得分:1)
我明白了:this->resize(ui->gridLayout->sizeHint());
做了伎俩。