在qtableview标题中一起调整多个部分的大小
在我设置了在qtableview标题中一起调整多个部分的大小,qt,qtableview,Qt,Qtableview,在我设置了QHeaderView::setResizeMode(QHeaderView::Interactive)之后,如何使几个标题部分一起调整大小。例如,当我减小一个部分的大小(将其右边框拖动到左侧)时,我希望其所有左侧部分也减小其大小 您可以使用void QHeaderView::sectionResized(int-logicalIndex、int-oldSize、int-newSize)signal。调整节的大小时会发出此信号。节的逻辑编号由logicalIndex指定,旧大小由old
QHeaderView::setResizeMode(QHeaderView::Interactive)
之后,如何使几个标题部分一起调整大小。例如,当我减小一个部分的大小(将其右边框拖动到左侧)时,我希望其所有左侧部分也减小其大小 您可以使用void QHeaderView::sectionResized(int-logicalIndex、int-oldSize、int-newSize)
signal。调整节的大小时会发出此信号。节的逻辑编号由logicalIndex
指定,旧大小由oldSize
指定,新大小由newSize
指定
因此,只需将此信号连接到插槽,即可更新以前的标头大小:
connect(ui->tableView->horizontalHeader(),SIGNAL(sectionResized(int,int,int)),this,SLOT(updateSizes(int,int,int)));
updateSizes
插槽类似于:
void updateSizes(int logicalIndex, int oldSize, int newSize )
{
for(int i=0; i<logicalIndex; i++)
ui->tableView->horizontalHeader()->resizeSection(i, newSize);
}
void updateSizes(int-logicalIndex、int-oldSize、int-newSize)
{
对于(inti=0;itableView->horizontalHeader()->resizeSection(i,newSize);
}