Python 如何在PyQt QTableWidget中获取SeletedIndex中的项总和

Python 如何在PyQt QTableWidget中获取SeletedIndex中的项总和,python,pyqt,pyqt4,qtablewidget,Python,Pyqt,Pyqt4,Qtablewidget,我试图以一种类似于ms excel的方式使用QTableWidget。我想得到currentRow中所有项目的总和,并将其显示在同一行的不同列上。 这是我的密码 item = self.tableWidget.selectedIndexes() table = QtGui.QTableWidgetItem() row = self.tableWidget.currentRow() table.setText(sum(item)) self.tableWidget.setItem(row, 5,

我试图以一种类似于ms excel的方式使用QTableWidget。我想得到currentRow中所有项目的总和,并将其显示在同一行的不同列上。 这是我的密码

item = self.tableWidget.selectedIndexes()
table = QtGui.QTableWidgetItem()
row = self.tableWidget.currentRow()
table.setText(sum(item))
self.tableWidget.setItem(row, 5, table)
我得到这个错误:

    table.setText(sum(data))
TypeError: unsupported operand type(s) for +: 'int' and 'QModelIndex'

SelectedIndex返回与项目选择关联的QModelIndex,这些元素不能添加,因为它们是指示项目位置的元素,适当的方法是使用selectedItems返回所选项目,但这些项目都不必添加,您应该做的是获取文本并将其转换为float,然后添加这些值:

val = sum([float(item.text()) for item in self.tableWidget.selectedItems()])
table = QtGui.QTableWidgetItem()
table.setText(str(val))
row = self.tableWidget.currentRow()
self.tableWidget.setItem(row, 5, table)

注意:我假设单元格中包含的值表示数字。

请输入适当的代码,以下代码缺少括号:table.setTextsumitem:Pi已添加忘记的括号,何时求和,当按下某个按钮或某个键时,我使用带有项目变量的第一行代码,即:item=self.tableWidget.selectedIndex。我也可以使用一个按钮,如果它可以解决我的问题。当选择项目时,我有一个右键单击选项,使用上面提供的代码。求和的righticlick选项有效,但代码显示问题前面通知的错误