addWidget
QGridLayout中添加Widget最好统一使用带有行列值的addWidget版本,比如初始化时添加各个Widget:
KLineWidget* widget = new KLineWidget(50);
ui.gridLayout->addWidget(widget, 0, 0);
KLineWidget* widget2 = new KLineWidget(100);
ui.gridLayout->addWidget(widget2, 0, 1);
KLineWidget* widget3 = new KLineWidget(150);
ui.gridLayout->addWidget(widget3, 1, 0);
KLineWidget* widget4 = new KLineWidget(200);
ui.gridLayout->addWidget(widget4, 1, 1);
一旦用这种方式添加了Widget之后,GridLayout的行列值你可以认为就不变了,因为你可以读取QGridLayout的行列计数,并执行任意的removeWidget方法,都会发现QGridLayout的rowCount和colCount的值都不会改变。
原始界面