2013-10-29 3 views
0

GUI API의 일부인 QSortFilterProxyModel을 통해 표현되어야하는 모델의 SourceTable (QAbstractTableModel 유형)이 있습니다. 열Qt 테이블 모델 열 덮어 쓰기

하나는 행의 상태를 표현한다 확인란을뿐만 아니라 상태 변경을 실행하는 데 사용되어야한다 : 체크 행동에

unchecked ---check---> checked 

내가 서버에 메시지를 보낼 수 있습니다. 그런 다음 서버는이 체크 정보를 SourceTable (QAbstractTableModel)을 통해 다시 보냅니다. 그런 다음 검사는 사용자 개입을 위해 잠겨 있어야합니다.

newProxyModel에서 GUI의 데이터 변경 신호를 얻거나 설정하거나 승격시켜야합니다. 그래서 "checkbox"열은 newProxy에서 "재정의"되어야합니다.

데코레이터를 사용하면 아키텍처가 손상되므로이 열 동작을 관리해야하는 다른 프록시 모델을 삽입하는 것에 대해 생각하고 있습니다. 이 방법이 좋은가요?

나는 그것이 가능하고 내가 Qt는 모델에 새로운 오전부터 서버 SourceTable (QAbstractTableModel)에서 GUI 모델 (QSortFilterProxyModel) 및 그

에서 사용자 활동을 요격 할 수있는 권리/쉬운 방법은 무엇인가 알고 싶어/어떤 제안이나 예제를 볼 수 있습니다. 내가 완전히 잘못하고있을 가능성이 있습니다.

고맙습니다.

+0

여기에 묻는 것이 명확하지 않습니다. – AngryDuck

+0

@urkon으로 요청 하시겠습니까? 체크 박스가 각 행에 대해 토글 될 때 고유 기능? – Zaiborg

+0

@AngryDuck 사례를 업데이트했습니다. – urkon

답변

1

괜찮 았을 때, 새 장난감은 QSignalMapper 일 수 있습니다.

이 경우 어떤 QWidget->이 경우에는 < 모델에 삽입하는 콤보 상자 항목을 신호를 보내는 단일 컨테이너로 연결할 수 있습니다. 여기서 신호를 보내는 개체와 사용자 지정 추가 정보를 확인할 수 있습니다 당신은 당신이 그 신호에 연결해야합니다) 테이블의 값과 같은 모델에 뭔가를 (변경하고 쉽게 QAbstractItemView::indexWidget (const QModelIndex & index)

를 사용하여 기본 QModelIndexQComboBox를 얻을 수 있습니다 예를 들어, 행) 반대편에

같은

+0

GUI API (TableView)를 업그레이드 할 때 솔루션의 일부가 누락되었을 수 있습니다. 확실히 이것은이 퍼즐에서 사용해야하는 장난감입니다. – urkon