사실 블로그에 올릴 정도의 내용이 아니기는 한데, 회사 코드를 그대로 가져다 사용하려다보니 생긴 문제라 일단 적어본다.
Qt에서는 데이터 관리와 표현을 위해 view, model 프로그래밍 방법을 사용한다. 자세한 내용은 [Qt Model/View 프로그래밍 #1. Model, View, Delegate]을 참고하자.
보통 view의 생성자에서 edit trigger를 설정하는데, 나 같은 경우는 이 부분이 문제가 없는데도 수정이 되지 않았다. 그것 때문에 끙끙 알면서 시간을 꽤 날렸는데, 엄청 간단하게 해결했다.
model 클래스에 flags라는 함수가 있는데 인자로 주어진 인덱스에게 item flag를 리턴한다. 그리고 재사용했던 회사 코드는 index.row() == 0일 때 edit이 되지 않도록 설정하고 있었다(...) 그러니까 안 되지.
코드에서는 테스트를 위해 기본적으로 하나의 row만 추가한 상태였고, 당연히 그 row는 edit이 되지 않는다. 다음부터는 코드를 외부에서 가져올 때 이런 설정 부분은 꼼꼼하게 봐야할 것 같다.
참고
'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 |