Как получить целую строку из многостолбцового PyQT Qtreeview?

Я относительно новичок в PyQT, и я долго и усердно изучал, и я просто не могу найти ответ на этот вопрос. По сути, у меня есть QTreeView, который заполняется данными из QStandardItemModel. Эти данные имеют 2 столбца и существуют различные заголовки, которые будут расширяться. Когда я дважды щелкаю на элементе в древовидном представлении, мне нужно иметь возможность извлечь всю строку, которая хранится в QStandardItemModel, но я могу только получить одну выбранную ячейку. У меня сейчас настроено следующее, но он просто возвращает одну ячейку, по которой дважды щелкнули

index = self.treeview.currentIndex() print index.data().toString()

Я могу попытаться найти модель на основе выбранной ячейки, так как возможно, что второй столбец перечисленных элементов может иметь одинаковые поля, но первый столбец всегда будет уникальным. Я также не могу просто использовать индекс строки, как я понимаю, потому что выбранные элементы являются дочерними элементами, поэтому я получаю индекс 0 для каждого первого дочернего элемента под родителем.

Любая помощь приветствуется. Заранее спасибо.

1 ответ

Решение

Я решил это, просто используя QTreeWidget, а не QTreeView. QTreeWidget позволил мне использовать следующий код, чтобы получить первый столбец данных независимо от того, в какой ячейке дважды щелкнули:

index = self.treewidget.currentItem() print index.data(0, 0).toString()

Другие вопросы по тегам