设置QHeaderView::setResizeMode(QHeaderView::Interactive)
后,如何将多个标题部分调整大小。例如,当我减小一个部分的大小(将其右边框向左拖动)时,我希望它的所有左边部分也减小它们的大小。
答案 0 :(得分:0)
您可以使用void QHeaderView::sectionResized ( int logicalIndex, int oldSize, int newSize )
信号。调整节大小时会发出此信号。该部分的逻辑编号由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);
}