сигнал clicked () для QListView в PyQt4 - PullRequest
1 голос
/ 26 мая 2010

У меня есть работающий QListView, но из документации я не могу понять, как получить сигнал для запуска с индексом недавно выбранного элемента. Есть идеи?

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Имхо, более простой способ добиться этого - использовать QListWidget вместо QListView. Таким образом, вы можете использовать сигнал itemClicked, который отправляет выбранный элемент в функцию обратного вызова.

0 голосов
/ 07 апреля 2012

Это фрагмент кода того, как я этого добился:

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). Однако я предупреждаю вас, что этот код довольно плохой и требует серьезного рефакторинга.

...