我正在尝试创建一个gui小部件,将通过.sql文件搜索。我正在使用tkinter,我有一个不工作的for循环。当有多个5时,它只显示一个结果。
def OnPressEnter(self,event):
with con:
cur = con.cursor()
t = self.entryVariable.get()
cur.execute("select * from Dict where Def LIKE ? OR word LIKE ? LIMIT 12", ('%'+t+'%', '%'+t+'%'))
rows = cur.fetchall()
for row in rows:
#printing second & third column(See tuples)
self.labelVariable.set(row[1])
self.labelVariable.set(row[2])
如果我输入"Apple",我只会得到一个"$499"的结果。那么我如何让循环工作呢?
这不是for循环,而是你设置了两次相同的变量。:
for row in rows:
#printing second & third column(See tuples)
#sets the variable
self.labelVariable.set(row[1])
#sets the variable again to a different value
self.labelVariable.set(row[2])
你可以这样做:
label = ""
for row in rows:
label += row[1] + ":" + row[2] + "n"
self.labelVariable.set(label)
#print to check the label string
print label
先生成字符串,然后设置值。标签值应该包含两个值,它们之间用冒号隔开,行与行之间用换行符分隔。