繁体   English   中英

如何在PyQt QTableWidget中获取seletedIndexes中的项目总和

[英]How to get the sum of items in seletedIndexes in PyQt 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, table)

我收到此错误:

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

selectedIndexes返回与项目选择关联的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)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM