我是pyside
的新手并且遇到以下情况:我有一个模型/视图,其中一列被按钮替换(参见相关问题here)。按下按钮时,我可以获得此特定按钮的索引。但是如何访问例如同一行中的第一个元素?
我的想法是创建一个指向行中第一个元素的索引。但是如何创建QModelIndex
? documentation没有说。
也许还有另一种方法来获取/提取'来自该行第一列中模型的数据?第二栏?整排?
我不确定以下是否有效:
index2 = index.child(index.row(), 0)
另外,我得到以下错误(使用python3.3):
model.data(index)
TypeError: data() missing 1 required positional argument: 'role'
虽然documentation表明role
是可选的。什么是一个角色?我想要给定数据单元格的内容。
那么我怎样才能实现目标呢?
答案 0 :(得分:1)
我找到了答案,但主要是“猜测”。 pyside
文档在这方面真的很糟糕......
解决方案是:
index2 = index.child(index.row(), 1)
element = model.data(index2, Qt.DisplayRole)
如果index
是PushButton
所在的索引,并且您想要获取同一行的元素,而是第二列。
index.child()
真正做了什么:不知道model.data
的角色:不知道但似乎有效......