在Qt gridLayou布局里添加一个控件如何设置其占两格或多格
如下图:
一 、如果是纯代码编写的界面 (大多是这个方式)
在纯代码编写的界面应用中,可以使用函数QGridLayout::addWidget(QWidget *w, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
使用该函数时,如果需要跨多行,只需要改变rowSpan的值。占一行跨一行时传值 rowSpan = 2;,占一行跨两行时传值 rowSpan =3;
同样跨多列时, 如果需要跨多列,只需要改变 columnSpan 的值。占一列跨一列时传值 columnSpan= 2;占一列跨两列时传值 columnSpan=3;
如上图,我们定义 按钮0 为:btn_zero; 加入使用QGridLayout布局,放在第4行,第0列和第一列。那么函数调用如下:
ui->mp_gridLayout->addWidget( btn_zero , 4 , 0 , 1 , 2 );
二、如果是在QtCreator或Qt Design中采用拖放方式布局
采用拖拽方式布局时,如果使用QGridLayout布局,跨多行或多列时,需要在布局文件的代码编辑模式下,修改XML代码实现;
QGridLayout 的每一格是一个item;找到对应的item 添加属性rowspan=“”;或colspan=“”;
效果如下图: