2012-12-08 6 views
0

QSQLTableModel에서 데이터를 가져 오는 QListView가 있습니다. 에 '추가'버튼을 클릭하면 사용자시 편집시 QListView 선택 해제

, 나는 새로운 상품을 추가하고 편집 할 수 있도록 엽니 다

QSqlTableModel *tblModel= qobject_cast<QSqlTableModel *>(ui->listView->model()); 
if(tblModel->insertRow(tblModel->rowCount())) 
    ui->listView->edit(tblModel->index(tblModel->rowCount()-1, 1)); 

을하지만 사용자가 새 값을 편집 완료되면, 목록보기의 선택은 손실됩니다. QListView 나 QSQLTableModel에서 신호를 찾을 수 없으며 편집이 완료되어 선택 항목을 '복원'할 수 없습니다.

선택 사항을 유지할 수있는 방법이 있습니까?

답변

0

편집() 함수의 문서에서 발췌 :이 함수는 현재 인덱스를 변경하지 않는 것을

참고. 현재 색인은 편집 할 다음 항목과 이전 항목을 정의하므로 사용자는 키보드 탐색이 예상대로 작동하지 않을 수도 있음을 알 수 있습니다. 일관된 탐색 동작을 제공하려면이 이 같은 모델 색인을 사용하기 전에 setCurrentIndex()를 호출하십시오.

+0

고마워요,이 문제는 내가 갖고있는 또 다른 문제를 해결하지만, 일단 새 항목의 편집이 끝나면 (입력 누름 또는 초점 분실 등) 선택한 항목이 재설정되므로 문제가 해결되지 않습니다. –

관련 문제