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
반응형
'IT > QT' 카테고리의 다른 글
[C++][QT] QWidget Mouse Event (0) | 2023.04.04 |
---|---|
[C++][QT] c1060 컴파일러의 힙 공간이 부족합니다. (0) | 2023.01.11 |
[QT][C++] QButton Focus 제거 (0) | 2022.10.28 |
[C++][QT] QDialog Stylesheets not work (0) | 2022.10.24 |
[C++][QT] QLineEdit enterEvent 연결하기 (0) | 2022.10.21 |
댓글