Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在qtableview标题中一起调整多个部分的大小_Qt_Qtableview - Fatal编程技术网

在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);
}