QAbstractTableModel에서 내 자신의 모델 클래스를 파생시킨 Qt 응용 프로그램이 있습니다. 필요한 메소드를 prescribed in the documentation으로 구현했습니다. removeRows 메서드를 호출하면 내보기에서 변경 내용이 올바른 것입니다. 제거하려는 행이 제거됩니다.QAbstractTableModel 파생 클래스에서 행을 삭제해도 작동하지 않는 이유는 무엇입니까?
하지만 어떻게 든 모델 작업은 모델에서 내 데이터를 저장하는 데 사용하는 QList로 전파되지 않는 것 같습니다. QList에 저장된 값을 디스크에 저장하면 removeRows에서 아무 것도 지우지 않은 것처럼 보입니다. 나는이 문제를 해결하려면 어떻게
bool MyModel::removeRows(int row, int count, const QModelIndex&)
{
beginRemoveRows(QModelIndex(), row, row + count - 1);
for (int i = 0; i < count; ++i) {
mMyQList.removeAt(row);
}
endRemoveRows();
return true;
}
: 여기
내 removeRows 구현이 (가 프로그래밍 책 고급 Qt는의 코드를 기반으로 제 3 장, P.125)을 보이는 무엇인가? 내가 놓친 게 무엇입니까?
감사합니다.
일부 코드는 게시해야합니다. 귀하의 removeRows() impl. –
덕분에, 내 질문을 내 removeRows() 코드로 업데이트했습니다. –