在PySide中使用dataChanged()

时间:2011-06-23 01:22:24

标签: drag-and-drop pyqt

我目前正在进行GUI设计,并希望在两个独立的QListViews之间添加拖放功能和自己的QStringListModels。

我能够通过启用各个视图的功能来拖放,但我无法找到一种方法来“删除”项目以触发事件。我认为它将通过在QListView中继承的dataChanged()完成,但是在查找QModelIndex以及如何在dataChanged的参数中使用它时遇到了麻烦。

为了进一步复杂化,一个列表有项目而另一个没有;我正在尝试从填充列表中拖动项目以填充空列表。

我的攻击计划是触发一个事件,类似于LineEdit的textChanged信号,然后处理视图更改的信息,并相应地更新。

您如何使用dataChanged / QModelIndex?有更好的方法吗?

提前致谢,欢呼!

1 个答案:

答案 0 :(得分:1)

您是否可以使用更多有关您在代码中实际执行操作的信息来更新帖子?

我认为它应该工作的方式是你重新实现QListView中的dataChanged插槽。当项目被删除时,将使用添加到QListView模型的项目的QModelIndex来调用dataChanged,以便您可以根据添加的项目执行任何所需的处理。