view 类本身不保存任何数据,相反的它们可以显示model中数据。因此如果我们想要访问与一个view相关的所有items,我们必须首先获取该view的model,然后遍历model中的items。而且,在一个选择器model中,选择器独立于model。这是因为选择器事关视觉交互,不会影响底层数据。(当然用户可以选择然后改变所选内容,但是从数据model看来,这种改变简单的应用于一个或更多items,同时model不知道或不关心这些items是如何被选择的。)
Example 6.7 The tst_listView Test Script
def main():
startApplication("itemviews")
listViewName = "{type='QListView' unnamed='1' visible='1'}"
listView = waitForObject(listViewName)
model = listView.model()
selectionModel = listView.selectionModel()
for row in range(model.rowCount()):
index = model.index(row, 0)
text = model.data(index).toString()
checked = selected = ""
checkState = model.data(index, Qt.CheckStateRole).toInt()
if che