2016-10-13 16 views
1

난에서 문서를 찾고 있어요 :QTableWidgetItem.data (self, int * role *)의 "role"인수는 무엇입니까?

나는 내 코드에 라인 IDList.append(item.data())을 넣어, 그와 같은 올바른 값을 인쇄 할 수 있습니다. 그러나 이상하게 그 줄 끝에서, 그것은 나에게이 오류 제공 :

TypeError: QTableWidgetItem.data(int): not enough arguments

오류 메시지가 인쇄 라인 다음에 오는 이유는 나도 몰라,하지만 그게 중요한다고 생각하지 않습니다. "역할"으로 문서의 의미는 무엇입니까? 예를 들어 주시겠습니까?

답변

2

항목에는 텍스트, 글꼴, 배경, 툴팁 등과 같이 관련된 많은 종류의 데이터가 있습니다. role은 원하는 데이터 종류를 지정할 수있는 ItemDataRole enum의 값입니다.

이러한 데이터 항목 중 일부에는 접근 기능이 있습니다. 따라서이 두 코드 행은 같습니다.

font = item.font() 
font = item.data(QtCore.Qt.FontRole) 

데이터 역할은 확장 가능합니다. 당신은 당신의 자신의 데이터와 사용자 정의 역할을 연관 Qt.UserRole에서 시작하는 모든 값을 사용할 수 있습니다

MyRole = QtCore.Qt.UserRole + 2 
item.setData(MyRole, [1, 2, 3]) 
... 
data = item.data(MyRole) 
+0

가 어떻게 어떤 역할을 사용하는 지 알고 있나요? 어딘가에 목록이 있니? –

+0

아, 내가 추가 한 링크에서 보았습니다. 고맙습니다. –

+0

데이터()로 내 항목에서 Int를 가져 오려고합니다. 이 역할에 어떤 역할을합니까? 항목에 사용할 수있는 .number()와 같은 것이 있습니까? –