Can someone explain what I'm doing wrong? I am using PyQt4 on Win8. Below is my main code:
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))
when i execute the script
script = "SELECT number,name FROM CB WHERE day > {0} AND day < {1} GROUP BY number LIMIT {2} ;".format(self.start_day, self.final_day,self.spinBox.value())
It works great.
But when I do
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())
Errors are displayed here:
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'
I am sure that both queries are correct in order to test them in iPython. But why can't I execute the second query in PyQT4 ??
Refresh . Change the last line to
self.treeWidget.addTopLevelItem(QTreeWidgetItem(map(unicode,row)))solve this problem! Thanks to Gary Lee.