0
点赞
收藏
分享

微信扫一扫

QTableWidget中嵌入QComboBox获取当前的索引的两种方式


目录

一、使用sender()函数

二、使用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)

举报

相关推荐

0 条评论