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를 활용하는게 정석으로 압니다
답변 감사합니다.
답변 감사합니다.
댓글 달기