如何访问pyside模型中的给定数据元素?

时间:2014-08-12 18:55:08

标签: python pyside

我是pyside的新手并且遇到以下情况:我有一个模型/视图,其中一列被按钮替换(参见相关问题here)。按下按钮时,我可以获得此特定按钮的索引。但是如何访问例如同一行中的第一个元素?

我的想法是创建一个指向行中第一个元素的索引。但是如何创建QModelIndexdocumentation没有说。

也许还有另一种方法来获取/提取'来自该行第一列中模型的数据?第二栏?整排?

我不确定以下是否有效:

index2 = index.child(index.row(), 0)

另外,我得到以下错误(使用python3.3):

model.data(index)
TypeError: data() missing 1 required positional argument: 'role'

虽然documentation表明role是可选的。什么是一个角色?我想要给定数据单元格的内容。

那么我怎样才能实现目标呢?

1 个答案:

答案 0 :(得分:1)

我找到了答案,但主要是“猜测”。 pyside文档在这方面真的很糟糕......

解决方案是:

index2 = index.child(index.row(), 1)
element = model.data(index2, Qt.DisplayRole)

如果indexPushButton所在的索引,并且您想要获取同一行的元素,而是第二列。

  • index.child()真正做了什么:不知道
  • 为什么我需要model.data的角色:不知道

但似乎有效......