我正在尝试创建一个将搜索 .sql 文件的图形用户界面小部件。我正在使用 tkinter 并且我有一个无法正常工作的 for 循环。 5条结果多则只显示1条。
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
首先生成字符串,然后设置值。标签值应包含两个值,它们之间有冒号,行之间用换行符分隔。
