2016-09-05 3 views
0

QTableWidget을 기반으로하는 기존 UI 구성 요소를 가져 와서 QTabWidget 페이지 내에 두 개의 UI 구성 요소를 배치하고 있습니다. 사용자가 첫 번째 탭의 테이블에 데이터를 입력 한 다음 두 번째 탭으로 이동하고 첫 번째 셀을 편집 모드로 전환하기 위해 버튼을 누르면 데이터를 입력 할 수있게하려고합니다.어떻게하면 QTableWidgetItem을 편집 모드로 전환 할 수 있습니까?

QTableWidget의 editItem 메소드를 사용하여 주어진 QTableWidgetItem을 편집하고 있습니다. 문제는 편집을 중지하기 위해 무언가가 발생하고 있다는 것입니다 (또는 처음부터 시작하지 않을 수도 있음).

editItem을 두 번째로 호출하면 실패하지만 셀을 클릭하면 강조 표시된 셀과 커서가 깜박이면서 편집 모드로 들어갑니다. 프로그래밍 방식으로이 작업을 수행 할 수있는 방법이 있는지 궁금한 점이 있습니까?

하나의 옵션은 탭 키를 누른 다음 시프트 탭을 시뮬레이트하는 것이지만이 작업을 수행하지 못했습니다. 탭을 시뮬레이트 할 수 있지만 shift 수정자를 추가하려고하면 일반 탭이 생성됩니다.

이 작동 내 탭의 코드는 다음과 같습니다

QApplication::postEvent(tableWidget, new QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier));

이 작동하지 않는 내 시프트 탭 코드 :

QApplication::postEvent(tableWidget, new QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier));

어떤 제안을 감상 할 수있다.

답변

0

그것은

내가이 우리를 위해 일을 할 것이라고 생각하지만 것 ... 실제로 Qt는 :: Key_Backtab보다는 내가 기대했던대로 시프트 수정과 Qt는 :: Key_Tab로보고됩니다 쉬프트 탭처럼 보인다 더 나은 솔루션을 환영합니다.

관련 문제