【问题标题】:Logical error in filling QTableWidget and filling all of nodes填充 QTableWidget 和填充所有节点的逻辑错误
【发布时间】:2013-09-12 13:19:56
【问题描述】:

我有以下代码(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.name 或 print result.stock ,一切正常。但是当我将它们导入QtableWidget 时,我只看到节点result.name 添加到widgets。 (从result.name填充的所有节点)

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

【问题讨论】:

  • 尝试注释掉for column in range(5):这一行
  • 谢谢...!我注释掉并解决了...,当然我应该手动列:0、1、2

标签: python qt pyqt qtablewidget qtablewidgetitem


【解决方案1】:

尝试注释掉for column in range(5): 行并将column 设置为0。

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

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

【讨论】:

  • 我解决了,这非常重要:1. 2 的列。因为我定义了我的语言环境波斯语伊朗,它无法获得整数,所以我定义了一个将整数转换为波斯语的函数。跨度>
  • @MohsenPahlevanzadeh 不确定我完全明白你的意思
猜你喜欢
  • 2018-03-28
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 1970-01-01
  • 2017-02-02
相关资源
最近更新 更多