python - transformacion - tabla de atributos qgis
¿Cómo crear una vista en árbol de casillas de verificación? (1)
¿Cómo crear una vista en árbol, mientras que cada elemento en la casilla de verificación es en pyside? Los elementos del árbol son diccionarios que se parecen al ejemplo a continuación:
A: 1: 1.1: 1.1.1
1.1.2
1.2: 1.2.1
1.2.2
2: 2.1 2.1.1
2.1.2
B ...
Prueba esto:
import PyQt4.QtGui as gui
import PyQt4.QtCore as core
dat = { ''A'':
{ ''1'':
{''1.1'': [''1.1.1'', ''1.1.2''],
''1.2'': [''1.2.1'', ''1.2.2'']
},
''2'':
{''2.1'': [''2.1.1'',''2.1.2'']}
}
}
def add(p,ch):
if isinstance(ch,dict):
for k,v in ch.iteritems():
item = gui.QTreeWidgetItem(p)
item.setText(0, k)
item.setCheckState(0,core.Qt.Unchecked)
item.setFlags(core.Qt.ItemIsUserCheckable | core.Qt.ItemIsEnabled)
add(item,v)
#p.addChild(item)
else:
for txt in ch:
item = gui.QTreeWidgetItem(p)
item.setText(0, txt)
item.setCheckState(0,core.Qt.Unchecked)
item.setFlags(core.Qt.ItemIsUserCheckable | core.Qt.ItemIsEnabled)
#p.addChild(item)
app = gui.QApplication([])
tw = gui.QTreeWidget()
add(tw,dat)
tw.show()
app.exec_()