【问题标题】:How to get the sum of values in selected rows in a QTableView如何获取 QTableView 中选定行中的值的总和
【发布时间】:2018-07-11 23:23:15
【问题描述】:

我有一个用 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)]))

【问题讨论】:

    标签: python pyqt pyqt4


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2018-08-12
      • 2011-08-21
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多