사실 블로그에 올릴 정도의 내용이 아니기는 한데, 회사 코드를 그대로 가져다 사용하려다보니 생긴 문제라 일단 적어본다.


Qt에서는 데이터 관리와 표현을 위해 view, model 프로그래밍 방법을 사용한다. 자세한 내용은 [Qt Model/View 프로그래밍 #1. Model, View, Delegate]을 참고하자.


보통 view의 생성자에서 edit trigger를 설정하는데, 나 같은 경우는 이 부분이 문제가 없는데도 수정이 되지 않았다. 그것 때문에 끙끙 알면서 시간을 꽤 날렸는데, 엄청 간단하게 해결했다.


model 클래스에 flags라는 함수가 있는데 인자로 주어진 인덱스에게 item flag를 리턴한다. 그리고 재사용했던 회사 코드는 index.row() == 0일 때 edit이 되지 않도록 설정하고 있었다(...) 그러니까 안 되지.


코드에서는 테스트를 위해 기본적으로 하나의 row만 추가한 상태였고, 당연히 그 row는 edit이 되지 않는다. 다음부터는 코드를 외부에서 가져올 때 이런 설정 부분은 꼼꼼하게 봐야할 것 같다.



참고


Can't edit my QTableView cells

'QT' 카테고리의 다른 글

LNK2019 외부 기호 참조 위치 함수 에서 확인 하지 못했습니다  (0) 2019.01.28
Qt LNK 2019 에러  (1) 2018.04.30
Class hierarchy와 Object hierarchy  (0) 2018.04.04
Q_OBJECT 란  (1) 2018.02.28
블로그 이미지

NCookie

,