QTableView clicked.connect () эквивалент прокрутки клавиатуры в PyQt5 - PullRequest
2 голосов
/ 25 февраля 2020

У меня есть следующий метод, в котором я работаю:

def get_employees(self):
    self.employee_frame = pd.read_sql_query('SELECT * FROM emp_data', self.connection)
    model = PandasModel(self.employee_frame.drop('image', axis=1))
    self.employee_data.setModel(model)
    self.employee_data.setSelectionBehavior(QAbstractItemView.SelectRows)
    self.employee_data.clicked.connect(self.display_selected)

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

Вот как это выглядит:

ui

1 Ответ

2 голосов
/ 25 февраля 2020

Вы должны использовать сигнал currentChanged QItemSelectionModel, связанный с QTableView и моделью (с этим изменением нет необходимости использовать нажатый сигнал):

def get_employees(self):
    self.employee_frame = pd.read_sql_query('SELECT * FROM emp_data', self.connection)
    model = PandasModel(self.employee_frame.drop('image', axis=1))
    self.employee_data.setModel(model)
    self.employee_data.setSelectionBehavior(QAbstractItemView.SelectRows)
    <b>self.employee_data.selectionModel().currentChanged.connect(self.display_selected)</b>
...