QTable의 사용법에 대한 기본적인 질문이 있습니다. 다음 예제를 고려하십시오. 이름, 나이 및 무게라는 세 개의 열이있는 표를 만들고 싶습니다. "추가"버튼은 테이블에 행을 추가 할 수 있어야합니다. 새로 추가 된 행 표시는 이탈하기 전에 완전히 수정됩니다 (즉, 세 개의 열을 모두 수정해야 함). 전체 행이 남아 있거나 컨트롤이 현재 행에 없다는 것을 나타내는 신호가 있습니까? 이러한 신호는 3 개의 열 모두에서 입력 값에 오류 확인 (예 : 나이가 양수인지 확인)을 수행하는 데 도움이됩니다 (또한 아무 것도 비어 있지 않도록). 이것은 매우 기본적인 요구 사항 인 것 같아요. 그런 작업을 지원하는 메커니즘이나 신호가 누락 된 것 같습니다.QTable : 행을 떠나는 식별하는 방법
0
A
답변
0
QTable 대신 QTableWidget 또는 QTableView를 사용해야합니다.
는 귀하의 질문에 응답, 이제
http://doc.qt.io/qt-4.8/porting4.html#qtable를 참조하십시오.
itemSelectionChanged() 또는 itemEntered() 신호를 사용해 보셨습니까?
다른 방법으로 신호 cellActivated() 또는 "추가"버튼으로 시작한 신호를 사용하여 편집이 시작되었음을 나타낼 수 있습니다. 그런 다음 다음 마우스 버튼 클릭 또는 Return 키 눌린 신호를 잡으려고 연결을 설정하여 편집을 마쳤습니다.
편집 : 내가 앱에서 당신은 QMainWindow 또는는 QWidget 서브 클래스한다고 가정 그렇다면는 QWidget :: mouseMoveEvent 다시 구현 및/또는는 QWidget :: keyPressedEvent 마우스 왼쪽 버튼을 때 감지하기 위해 사용 keyPressedEvent (클릭 할 때 감지하는 방법 Return 키 누름).
당신은
관련 문제
- 1. QTable 위젯의 값이 변경되었는지 확인하는 방법
- 2. Qt QTable 체크 박스 만 표시하는 방법
- 3. 사용자가 페이지를 떠나는 지 확인하는 방법
- 4. TextInput 떠나는 플렉스 메서드
- 5. EXE가 WPF인지 식별하는 방법
- 6. Eclipse가 키워드를 식별하는 방법
- 7. 익명 함수를 식별하는 방법
- 8. http 리디렉션을 식별하는 방법
- 9. EKEvent에서 EKAlarm을 식별하는 방법
- 10. Java 프로그램의 특정 실행에 참여한 코드 행을 식별하는 방법은 무엇입니까?
- 11. Apex 테이블 형식의 현재 행을 식별하는 방법은 무엇입니까?
- 12. 허드슨이 공개 세션을 떠나는 경우
- 13. preg_replace이다 원하지 않는 문자로 떠나는
- 14. 제스처를 인식하고 식별하는 간단한 방법
- 15. 문자를 식별하는 방법 (집합 기반)?
- 16. System.Reflection에서 익명 메서드를 식별하는 방법
- 17. 실행 파일 - ASCII로 식별하는 방법
- 18. QEvent 보낸 사람을 식별하는 방법
- 19. 안드로이드에서 메모리 누수를 식별하는 방법?
- 20. 32 비트 프로세스를 식별하는 방법
- 21. oAuth에서 누군가를 고유하게 식별하는 방법
- 22. civicrm PHP 페이지를 식별하는 방법
- 23. git에서 병합해야하는 분기를 식별하는 방법
- 24. 효율적으로 이진 파일을 식별하는 방법
- 25. 모바일 장치에서 요청을 식별하는 방법
- 26. iOS에서 "브라우저를 식별하는 방법"을 만드는 방법
- 27. 허드슨 "stop"/ 뒤로 떠나는 빌드 취소
- 28. 위젯을 통해 호출 될 때 Android 활동을 떠나는 방법
- 29. 한 페이지를 떠나는 내용을 밖으로 검게하는 것
- 30. 사용자를 감지하는 방법이 mvc3에서 사이트를 떠나는 것입니까?
http://doc.qt.io/qt-5/eventsandfilters.html에서 이벤트에 대한 자세한 내용을보실 수 있습니다 나는 우리가 QT 3.3.8 여기 붙어로이 중 어느 것도 나를 위해 유용 할 수 없었다 생각합니다. 현재, 아래 답변에서 언급 한 다른 방법을 사용하고 있습니다. – bbv
나는 valuechanged() 시그널을 사용하고 있지만 이것은 테이블에서 실제 편집이 이루어진 경우에만 유용하다. 나는 누군가가 (Add 단추의 도움으로) 테이블에 새로운 행을 생성 한 다음 응용 프로그램의 다른 곳을 클릭하는 경우를 식별하는 방법을 여전히 모른다. 이런 경우에 신호가 있습니까? – bbv