Изменить действие нажатия клавиши в QTableView (PyQt4) - PullRequest
0 голосов
/ 08 июля 2011

Я использую класс QTableView для отображения таблицы из базы данных. Я хочу разрешить пользователю редактировать таблицу, используя только клавиатуру.

Однако стандартным поведением класса является сброс фокуса к начальному индексу таблицы после 2 правок, т.е. Я редактирую ячейку, нажимаю клавишу «Вниз», редактирую ячейку, снова нажимаю клавишу «Вниз», после чего таблица теряет фокус; В следующий раз, когда я нажму клавишу «Вниз», первая ячейка таблицы получит фокус.

Какие методы класса я должен посмотреть, чтобы изменить это поведение?

Я использую режим выбора одного элемента:

    self.entryView = QTableView()
    self.entryView.setModel(self.logModel)
    self.entryView.setItemDelegate(LogDelegate(self))
    self.entryView.setSelectionMode(QTableView.SingleSelection)
    self.entryView.setSelectionBehavior(QTableView.SelectItems)

1 Ответ

0 голосов
/ 08 июля 2011

Я использовал TreeWidget раньше, поэтому они должны быть похожими. Как насчет явного указания «активного элемента» путем вызова метода setCurrentItem () после модификации? таким образом, вы всегда можете иметь правильный фокус

...