IT/QT

[C++][QT] QTableWidget editTriggers 수정 막기

참고만 2022. 10. 20. 17:18
728x90
반응형

QTableWidget 그리드에서 사용자가 Edit, 즉 수정하는 것을 막고 싶을 때가 있다.

 

방법 1. ***.ui 디자이너에서 QTableWidget을 선택 후 아래 속성에서 edit Triggers 항목을 찾는다.

 

 

기본적으로 DoubleClicked, EditKeyPressed, AnyKeyPressed 세 가지 옵션이 체크되어있다.

체크 일시 해당 동작을 했을 경우 Edit 상태로 그리드가 바뀐다.

 

그러므로 사용자가 수정사항을 못하게 기능을 막으려면 NoEditTriggers를 체크해주자 ( 체크하면 나머지 체크가 풀린다. )

 

이러면 끝. 수정이 안된다.

 

 

방법 2. .cpp 코드상에서 위 방법에서 하던 트리거 세팅을 해주면 된다.

 

this->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);  // 에디트 불가

 

트리거의 열거형

 

QFlags <QAbstractItemView::EditTrigger> flag = tableWidget->editTriggers();

 

현재 tableWidget에 설정되어있는 플래그를 확인할 수 있다.

 

좋은 의견은 댓글로 달아주세요.

728x90
반응형