QAbstractTableModel과 QAbstractListModel의 업데이트 시 각각 동작이 다릅니다.
글쓴이: kjh27814 / 작성시간: 월, 2013/10/07 - 2:57오후
안녕하세요.
개발 중 의문점이 생겨 질문 올립니다.
지금 개발하는 프로그램에 QAbstractTableModel을 상속받은 Custom Model이 하나 있고 (QTableView에 등록, 이하 A)
QAbstractListModel을 상속받은 Cumstom Model이 있습니다. (QListView에 등록, 이하 B)
B는 데이터만 조작 후 dataChanged()함수를 호출하면 알아서 목록에 표시가 되는데
A는 dataChanged()함수를 호출 해도 insertRows와 removeRows를 수동으로 호출 해줘야(추가/삭제한 데이터의 갯수만큼) 목록에 표시가 됩니다.
디버거를 돌려봤으나 dataChanged()함수 호출 시 Index의 문제는 아니구요.
혹시나 해서 B에 오버라이딩 한 insertRows와 removeRows에 중단점을 걸고 실행해봤으나
업데이트 시 중단점에 걸리지도 않습니다. 내부적으로 시그널 슬롯 형태로 동작하는 것 같은데
해결방법이 없을까요?
답변 부탁딉니다.
Forums:


오버라이딩이 제대로 됬는지 확인해보세요. C++11을
오버라이딩이 제대로 됬는지 확인해보세요. C++11을 사용하신다면 override키워드를 써보세요.
오버라이딩한다고 써놨는데 인자를 잘못써서 오버로딩한셈이되는 경우가 종종있습니다.
퇴근한데다 만진지 오래되서 기억은 안나는데
퇴근한데다 만진지 오래되서 기억은 안나는데 qmodelindex를 활용하는게 정석으로 압니다
답변 감사합니다.
답변 감사합니다.