以编程方式更改QAbstractTableModel的数据

时间:2015-07-24 08:57:35

标签: python-3.x pyqt4

我需要更改存储在QAbstractTableModel实例中的数据,以下是我的尝试,但不执行任何操作。

class index(QtCore.QModelIndex):
    def __init__(self, row_, col_):
        QtCore.QModelIndex.__init__(self)
        self.r = row_
        self.c = col_

    def column(self):
        return self.c

    def row(self):
        return self.r

我在循环中使用它来设置一个值为

的列
val = self.ui.doubleSpinBox.value()
for i in range(self.links_model.rowCount()):
    self.links_model.setData(index(i, 4), val, QtCore.Qt.DisplayRole)

在此代码中     self.links_modelQAbstractTableModel

的一个实例

因此,无论我发布的代码如何,如何在python中更改QAbstractTableModel实例的值?

1 个答案:

答案 0 :(得分:0)

所以,挖掘Python API(...)我发现了如何做到这一点:

val = self.ui.doubleSpinBox.value() # some value to set
for i in range(self.links_model.rowCount()):
    item = QtGui.QStandardItem()
    item.setData(val, QtCore.Qt.DisplayRole)
    self.links_model.setItem(i, 4, item) # i-> row, 4-> column