PyQt4中QListView的clicked()信号
我有一个正常工作的QListView,但从文档中我找不到如何让信号在新选中的项目的索引上触发。有没有什么想法?
2 个回答
0
这是我实现这个功能的一小段代码:
class VenueList(QListView):
def __init__(self, parent, venues):
super(VenueList, self).__init__(parent)
self.clicked.connect(self.venue_selected)
[...]
def venue_selected(self, index):
venue = self.model().data(index, VenueListModel.VenueRole)
doStuff()
你可以在这里查看我使用的完整代码,链接是这里(第69行)。不过我得提醒你,这段代码写得不太好,需要好好重构一下。
1
在我看来,想要实现这个功能,使用QListWidget会比QListView简单一些。这样的话,你可以使用itemClicked这个信号,它会把你选中的项目发送到回调函数中。