2

我正在尝试创建一个将搜索 .sql 文件的 gui 小部件。我正在使用 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”。那么如何让循环工作呢?

4

1 回答 1

1

这不是 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

它首先生成字符串,然后设置值。标签值应包含两个值,它们之间用冒号分隔行。

于 2013-03-03T02:28:30.367 回答