如何获取QTableVi中选定行中的值之和

2024-09-29 21:40:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用PyQt设计的Python程序,其中我使用QTableView显示数据库中的数据。我使用程序来查找指定的匹配值,然后选择它们。在突出显示这些项之后,我希望能够在指定列中找到所选值的总和。这是我试图使用的代码。

start = self.table_model2.index(0, 4)
matches = self.table_model2.match(start, QtCore.Qt.DisplayRole, code, -1, QtCore.Qt.MatchExactly)

for index in matches:
    self.tableView2.selectionModel().select(index, QtGui.QItemSelectionModel.Select |
                                                QtGui.QItemSelectionModel.Rows)

for index in sorted(self.tableView2.selectionModel().selectedRows()):
    row = index.row()
    self.payment = self.table_model2.data(self.table_model2.index(row, 9))
    print(sum([int(self.payment)]))

Tags: inself程序forindextableqtstart
1条回答
网友
1楼 · 发布于 2024-09-29 21:40:14

你正在转换成整体,然后再转换成一个列表,最后你添加了不必要的列表,最后两个任务是不必要的,正确的做法是累积值:

result = 0
for index in sorted(self.tableView2.selectionModel().selectedRows()):
    payment = self.table_model2.data(self.table_model2.index(index.row(), 9))
    result += int(payment)
print(result)

相关问题 更多 >

    热门问题