0

我有以下代码(PyQt)

searchFrameObject.tableWidget.setRowCount(rowCounter)
searchFrameObject.tableWidget.setColumnCount(5)

for row in range(rowCounter):
    for column in range(5):
        for result in query:

            item = QtGui.QTableWidgetItem(_fromUtf8(result.name))
            item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
            searchFrameObject.tableWidget.setItem(row,column,item)

            #item = QtGui.QTableWidgetItem(String(result.bought_price))
            #item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
            #searchFrameObject.tableWidget.setItem(row,column+1,item)

            #item = QtGui.QTableWidgetItem(result.bought_date)
            #item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
            #searchFrameObject.tableWidget.setItem(row,column+2,item)

            item = QtGui.QTableWidgetItem(result.stock)
            item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
            searchFrameObject.tableWidget.setItem(row,column+3,item)

            item = QtGui.QTableWidgetItem(result.minimum_bound)
            item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
            searchFrameObject.tableWidget.setItem(row,column+4,item)

当我在 DB 中搜索时,我print result.nameprint result.stock,一切正常。但是当我将它们导入时,我只看到添加QtableWidget了节点。(从 填充的所有节点)result.namewidgetsresult.name

我的问题是,我如何用我的字段填充行和列?

4

1 回答 1

1

尝试注释掉该行for column in range(5):并设置column0.

运行该循环似乎没有意义,因为您正在手动增加要item添加的列号。

还有一件事,循环运行没有意义,query因为出现在特定行中的是最后出现的query. 另外,您通过创建(len(query) - 1) * 5可能永远不会再次使用的项目来无用地阻塞内存。最好注释掉for result in query:并用result = list(query)[-1].

于 2013-09-09T06:37:14.377 回答