目录
二、使用QTableWidget的currentRow和currentColumn方法
一、使用sender()函数
这种方式适合面向对象的写法。如果是函数式,在没有self的情况下就无法使用。
self.combo_box.currentIndexChanged.connect(self.handle_combo_box_change)
def handle_combo_box_change(self, value):
sender = self.sender()
if sender:
row = str(sender.objectName()).split("_")[-1]
data = self.data_list[int(row)]
data.file_name_type = value
print(data)
template_update(data)
二、使用QTableWidget的currentRow和currentColumn方法
这种方法不需要self就可以。我们只需获取当前正在活动的Table单元格坐标(row,column)
# 绑定事件
combo_box.currentIndexChanged.connect(lambda value: handle_combo_box_change(tableWidget, value, data))
def handle_combo_box_change(tableWidget: QTableWidget, value, data):
"""
处理下拉框改变事件
:param i:
:param value:
:return:
"""
index = tableWidget.currentRow()
d = data[index]
d.file_name_type = value
template_update(d)