QVariantMap의 내용을 QTreeView로 설정하는 데 사용할 수있는 자동 방법이 있습니까? 아니면이 모델을 정의해야합니까?QTreeView를 QVariantMap 콘텐츠로 설정하십시오.
1
A
답변
0
내가 파이썬 (PyQt4) 내 예제를 제공해야한다는 사실을 용서하십시오 사전에
감사합니다. 솔루션에 접근하는 데는 두 가지 방법이 있습니다. 독립적으로 관리하는 뷰에 연결된 모델에 QVariantMap 데이터를 푸시하거나 QVariantModel을 데이터 소스로 사용하여 데이터를 적극적으로 드라이브하는 고유 한 모델을 정의해야합니다.
데이터를 표준 모델로 푸는 간단한 예제를 제공합니다. 파이썬에는 QVariantMap이 없기 때문에 키 int => QVariant 문자열 값의 사전을 사용하고 있습니다.
class View(QtGui.QWidget):
def __init__(self):
super(View,self).__init__()
self.layout = QtGui.QVBoxLayout(self)
self.table = QtGui.QTableView()
self.layout.addWidget(self.table)
self.button = QtGui.QPushButton("Update")
self.layout.addWidget(self.button)
# Using a normal QStandardItemModel and setting
# it on the table view.
self.model = QtGui.QStandardItemModel(self)
self.table.setModel(self.model)
self.button.clicked.connect(self.populate)
def populate(self):
# no QVariantMap in PyQt4. Creating a dictionary on the fly
# of int key => QVariant string... {0: QVariant('foo'), ...}
variantMap = {i:QtCore.QVariant('foo') for i in xrange(10)}
col = 0
row = 0
# loop over each element in your map, and add a QStandardItem
# at a specific row/column
for name, val in variantMap.iteritems():
item = QtGui.QStandardItem(val.toString())
self.model.setItem(row, col, item)
row += 1
저는 QTableView 및 QStandardItemModel을 만듭니다. 그런 다음 뷰에 모델을 설정합니다. populate 슬롯에 연결하는 버튼을 만듭니다. 이 슬롯을 호출하면 데이터 컨테이너를 시뮬레이트하기 위해 "QVariantMap"유형의 객체를 즉시 작성합니다. 그런 다음 해당 컨테이너의 내용을 반복하고 각 셀에 QStandardItem
을 만듭니다. 특정 열과 행의 모델에 항목을 설정합니다. 이 예제에서는 열 0을 추가하고 행을 추가합니다.
이 예제가 사용자 상황에 맞게 쉽게 변환되기를 바랍니다.
관련 문제
- 1. QJson QVariantMap to QByteArray
- 2. QVariantMap 노드에 대한 우아한 비 const 참조?
- 3. 기본 콘텐츠로 tinyMCE 초기화
- 4. 콘텐츠로 꼬리말을 유지하는 방법
- 5. fancybox 콘텐츠로 연결
- 6. QVariantMap DBusMenuExporterDBus GLib-GObject-Critical GLib-GObject-WARNING
- 7. 동적 콘텐츠로 비디오 동영상 만들기
- 8. Ajax 콘텐츠로 javascript 및 CSS로드
- 9. Ajax - 콘텐츠로 URL을 변경하는 방법
- 10. 검사 패턴을 정적 콘텐츠로 작성하려면
- 11. 삽입 된 새 콘텐츠로 스크롤
- 12. 일괄 이메일 맞춤 콘텐츠로 보내기
- 13. 콘텐츠로 특정 태그를 찾는 정규식
- 14. 빈 요소를 형제 콘텐츠로 대체하십시오.
- 15. HTML DIVS가 콘텐츠로 동적으로 확장됩니까?
- 16. 먼저 캐시 된 콘텐츠로 리디렉션합니다.
- 17. Gridview를 엑셀/추가 콘텐츠로 내보내기
- 18. 향상된 콘텐츠로 동적 팝업 추가
- 19. 콘텐츠로 div를 성장시키는 방법은 무엇입니까?
- 20. 동적 콘텐츠로 div를 동적으로 생성합니다.
- 21. 입력 필드 폭을 콘텐츠로 설정
- 22. DOM을 사용하여 동적 콘텐츠로 Xmlparsing
- 23. E4X 텍스트 콘텐츠로 필터링 하시겠습니까?
- 24. asp.net Response.Output을 내 콘텐츠로 대체하십시오.
- 25. 아약스로드 iframe 콘텐츠로 무언가를 하시겠습니까?
- 26. 나는 내부 HTML 콘텐츠로 사용하는 구성 요소에 HTML 콘텐츠로 다음 문자열을 보내는 중이 야
- 27. 전환 탭 콘텐츠로 표를 만드는 방법은 무엇입니까?
- 28. 원하는 콘텐츠로 이동하기 위해 APNS 기능을 사용합니다.
- 29. 사용자가 제출 한 콘텐츠로 목록을 업데이트
- 30. AJAX 콘텐츠로 JQUERY 함수가 작동하지 않습니다.
지도를 데이터 소스로 사용 하시겠습니까, 아니면 임시 컨테이너로 사용 하시겠습니까? 표준 모델을 사용하고 데이터를로드 할 수는 있지만 직접 맵을 사용하려면 모델로 래핑해야합니다. – jdi
내지도의 데이터를 트리보기에 표시하기 만하면됩니다. – Ameen