QTableView clicked.connect() 等效于 PyQt5 中的键盘滚动

QTableView clicked.connect() keyboard scroll equivalent in PyQt5

我在一些 ui 中使用了以下方法:

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)

每当我单击屏幕右侧的 table 行时,左侧部分的详细信息会根据所选行显示和更改。什么 equivalent 也可以通过上下滚动 QTableView 行来改变细节?

外观如下:

您必须使用与 QTableView 和模型关联的 QItemSelectionModelcurrentChanged 信号(通过此更改,无需使用点击信号):

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>