는이 작업을 수행하는 쉬운 방법이 없습니다. 다음과 같은 것을 제안합니다 :
벡터를 사용하여 이동 된 머리글 logicalIndexes
을 저장하십시오. QHeaderView
다른 sectionMoved
있기 때문에 그것을 필요하므로
connect(ui->tableView->horizontalHeader(),static_cast<void (QHeaderView::*)(int,int,int)>(&QHeaderView::sectionMoved),[=](int logicalIndex, int oldVisualIndex, int newVisualIndex)
{//with lambda
//you can also provide shecking is current logicalIdnex already exist in vector
last.push_back(logicalIndex);
});
구문 너무 복잡하고 추한 :
QVector<int> last;
사용 sectionMoved
신호 검출 및 이동 벡터에 logicalIndex
를 저장한다. 새로운 문법을 모르는 경우, 기존 사용
connect(ui->tableView->horizontalHeader(), SIGNAL(sectionMoved(int,int,int)), this, SLOT(yourSlot(int,int,int)));
그러나이 yourSlot(int,int,int)
을 만들고이 슬롯에 last.push_back(logicalIndex);
을한다. 새로운 구문과 람다를 사용하려는 경우
QByteArray array;
for(int i = 0; i < last.size(); i++)
{
ui->tableView->horizontalHeader()->hideSection(last.at(i));
}
array = ui->tableView->horizontalHeader()->saveState();
이 프로 파일에 CONFIG += c++11
을 추가
당신이 saveState
을 원하는
, 당신은 벡터에 저장하고 저장
logicalIndex
모든 섹션을 숨 깁니다.