테스트 케이스 편집기에서 일하고 있습니다. 이 편집기에는 USART 전송 및 수신 패킷 형식이 포함되어 있습니다. 편집기는 테이블보기입니다.
전송 및 수신 패킷의 길이는 8 바이트입니다. 예를 들면 다음과 같습니다.
0x01 0x02 0x03 ... 0x08
내 다섯 번째와 여섯 번째 열에 있습니다. 이제이 열의 셀을 읽기 전용으로 설정하고 싶지만이 열의 셀을 두 번 클릭하면 팝업 위젯이 표시됩니다. 이 위젯은 사용자가 패킷 형식 (예 : 8 바이트 길이) 데이터를 입력 할 수있는 텍스트 편집에 8 개의 상자를 포함합니다. 이 데이터를 팝업, 위젯에서 백엔드의 읽기 전용 셀로 쉽게 복사 할 수 있습니다.
이렇게하면 각 바이트 사이에 공백이 있어야하는지 여부와 같은 사용자의 모든 정책이 제거됩니다. 따라서 잠재적 인 인적 오류가 제거됩니다.
1 : 테이블 뷰의 셀을 더블 클릭하는 이벤트 핸들러가 있습니까?
2 : 동일한 열의 각 셀에 대해 공통 더블 클릭 처리기를 사용할 수 있습니까?
3 : 마지막에 값을 변경할 수 있다는 사실을 유지하면서 (즉, 뒤로) 특정 열의 셀을 테이블보기에서만 읽기 전용으로 만들 수있는 방법은 무엇입니까?
1 : 테이블 뷰의 셀을 더블 클릭하기위한 이벤트 핸들러가 있습니까?
이벤트가 아닌 신호를 사용해야합니다.
void doubleClicked(const QModelIndex & index)
2 : 동일한 열의 각 셀에 대해 공통 두 번 클릭 처리기를 가질 수 있습니까?
예, 각각에 대해 앞서 언급 한 신호를 처리 할 수 있습니다.
3 : 마지막에 값을 변경할 수 있다는 사실을 유지하면서 (즉, 뒤로) 특정 열의 셀을 테이블보기에서만 읽기 전용으로 만들려면 어떻게해야합니까?
다음은 원하는대로 모델 인덱스에 대해 설정해야하는 플래그입니다 (예 : 읽기 전용 또는 읽기 쓰기).
Qt::ItemIsEditable 2 It can be edited.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다