와 열 너비를 설정 QColumnView,하지만 난 설명서 또는 인터넷에서 필요한 정보를 찾을 수 없습니다 : 나는 매우 구현PyQt4 초보자는 : 자동으로 나는 QT4 초보자 해요 사용자 정의 모델
을 DisplayRole, ToolTipRole 및 DecorationRole 입력에 응답하는 data() 메서드가있는 간단한 데이터 모델입니다. headerData() 메서드를 구현하지 않았습니다 (그러나 아래 나열된대로 테스트했습니다).
QColumnView에서 모델을 사용할 때 열의 크기는 고정되어 있습니다. 내 데이터 모델의 다양한 노드의 너비가 상당히 다양하므로 QColumnView가 data() 메서드에서 반환 된 데이터에 따라 열 너비를 자동으로 설정하는 방법을 찾고 있습니다.
다른 종류의보기에서 사용할 수있는 "setResizeMode()"메서드를 찾을 수 없습니다.
text = str(node.display_name())
value = QtCore.QSize(len(text)*10,20)
가 이상하게 높이를 조정해야 할 것 같다,하지만 열 너비는 여전히 일정 :이 같은 뭔가 SizeHintRole의 입력 역할과 데이터로부터 QSize을()() 반환했습니다.
나는이 닮은 headerData 방법을 구현하는 시도 :
def headerData(self, index, orientation, role) :
ret = QtGui.QHeaderView()
ret.setResizeMode(QtGui.QtHeaderView.ResizeToContents)
return ret
하지만 그건 아무런 영향을 미치지 않습니다를; 머리글보기를 조작하고 다른 방식으로 설정해야한다고 확신하지만 그게 무엇인지 알아내는 데 어려움이 있습니다.
누가 올바른 방향으로 초보자를 가르 칠 수 있습니까? 감사합니다. .
귀하의 설명을 완전히 이해하고 있는지 잘 모르겠습니다. 한 줄 또는 두 줄의 코드를 줄 수 있습니까? setColumnWidths() 메서드를 알고 있지만 해당 메서드를 제공 할 수있는 열에 "딱 맞는"계산 방법을 알지 못합니다. 감사. –