2

.sqlファイルを検索するGUIウィジェットを作成しようとしています。IIは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」と入力すると、結果の1つである「$499」のみが表示されます。では、どうすればループを機能させることができますか?

4

1 に答える 1

1

これはforループではなく、同じ変数を2回設定しているということです。ここ:

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

最初に文字列を生成し、次に値を設定します。ラベル値には、行を区切る改行を含むコロンを含む2つの値が含まれている必要があります。

于 2013-03-03T02:28:30.367 に答える