PyQt QTreeWidgetItem参数1具有意外的类型“tuple”

2024-07-03 06:19:19 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能解释一下我做错了什么吗?我在Win8上使用PyQt4。 以下是我的主要代码:

con = sqlite3.connect('storage.db')
with con:
    cur = con.cursor()
    cur.execute(script)
    rows = cur.fetchall()
    self.treeWidget.clear()
    for row in rows:
        self.treeWidget.addTopLevelItem(QTreeWidgetItem(row))

当我执行脚本时

^{pr2}$

它工作得很好。在

但当我执行的时候

script = "SELECT number,name,SUM(access)/1000000.0 FROM CB WHERE day > {0} AND day < {1} GROUP BY number ,name  LIMIT {2} ;".format(self.start_day, self.final_day, self.spinBox.value())

显示错误:

Traceback (most recent call last):
  File "G:/CBAnalysis/CB_analysis.py", line 155, in quickaccess
    self.treeWidget.addTopLevelItem(QTreeWidgetItem(row))
TypeError: arguments did not match any overloaded call:
  QTreeWidgetItem(int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QStringList, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidget, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidget, QStringList, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidget, QTreeWidgetItem, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidgetItem, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidgetItem, QStringList, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidgetItem, QTreeWidgetItem, int type=QTreeWidgetItem.Type): argument 1 has unexpected type 'tuple'
  QTreeWidgetItem(QTreeWidgetItem): argument 1 has unexpected type 'tuple'

我确信这两个查询都是正确的,因为我在iPython中测试了它们。 但是为什么我不能在PyQT4中执行第二个查询呢??在


更新:将最后一行更改为 self.treeWidget.addTopLevelItem(QTreeWidgetItem(map(unicode,row))) 解决这个问题!多亏了加里·李。在


Tags: selftypeargumentconintrowhasday