如何获取 QTableView 中选定行中的值的总和
How to get the sum of values in selected rows in a QTableView
我有一个用 PyQt 设计的 Python 程序,我在其中使用 QTableView 显示数据库中的数据。我正在使用该程序查找指定的匹配值,然后 select 它们。在突出显示项目后,我希望能够在指定列中找到 selected 值的总和。这是我正在尝试使用的代码。
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)]))
您正在转换为整体,然后转换为列表,最后添加不必要的列表,最后 2 个任务是不必要的,正确的做法是累加值:
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)
我有一个用 PyQt 设计的 Python 程序,我在其中使用 QTableView 显示数据库中的数据。我正在使用该程序查找指定的匹配值,然后 select 它们。在突出显示项目后,我希望能够在指定列中找到 selected 值的总和。这是我正在尝试使用的代码。
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)]))
您正在转换为整体,然后转换为列表,最后添加不必要的列表,最后 2 个任务是不必要的,正确的做法是累加值:
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)