Python:使用按钮从行中选择特定行

Python:使用按钮从行中选择特定行,python,tkinter,Python,Tkinter,我正在创建一个公司用来管理订单的程序。 程序大部分都完成了,但是,我被困在一个特定的部分 此图显示了Tkinter UI,它基于一个输入框,用于在数据库中搜索与输入名称类似的订单。“Oppdater”按钮不相关,搜索按钮用于显示查询结果 在本例中,我搜索了名称Lars,它提供了三个条目(名称隐藏)。 我想做的是使用“Velg”(选择)按钮来选择特定订单中的数据,但是当我尝试选择该数据时,它所做的只是打印最后一个订单,编号为100 如何修复此代码以选择特定行并将数据保存到变量?(或将其传递给函数

我正在创建一个公司用来管理订单的程序。 程序大部分都完成了,但是,我被困在一个特定的部分

此图显示了Tkinter UI,它基于一个输入框,用于在数据库中搜索与输入名称类似的订单。“Oppdater”按钮不相关,搜索按钮用于显示查询结果

在本例中,我搜索了名称Lars,它提供了三个条目(名称隐藏)。 我想做的是使用“Velg”(选择)按钮来选择特定订单中的数据,但是当我尝试选择该数据时,它所做的只是打印最后一个订单,编号为100

如何修复此代码以选择特定行并将数据保存到变量?(或将其传递给函数)


感谢您将此作为答案发布,因为评论无法理解。与其让查询复杂化,不如试试:

value = self.search_entry.get()
search_query = "SELECT * FROM {} WHERE name LIKE %s".format(orders_table)
mycursor.execute(search_query, (value,))
data = mycursor.fetchall()

ref = []
for count,element in enumerate(data):
    def show(item):
        print(item)
    Label(root, text=f"Ordr.number: {element[0]}").grid(column=0, sticky=W, row=count)
    ref.append(Button(root, text="Choose", command=lambda item=element: show(item)))
    ref[count].grid(column=1, sticky=W, row=count)
我没有使用
format
方法,而是使用了f字符串,在Python3.x中,f字符串更易于使用,代码数量更少


无论如何,试试这个,让我知道。如果您有任何疑问,请务必告诉我。

谢谢,是的,使用f字符串更容易使用,我可以看到!使用您添加的输入对查询进行了一些细微的更改,这使代码更加清晰。然而,问题更多地在于如何使用按钮访问数据,您是否有关于如何解决该问题的任何输入?感谢you@Helfie我没有看到为
command
参数指定任何命令。这是为什么?我很难理解的是如何用按钮选择特定的行。即,在图像中,选择订单号51并使用该行上的按钮打印订单号的内容。对不起,如果有点不清楚的话。命令中没有指定任何内容,因为这是我不理解的部分。如何指定特定行。@Helfie它实际上不清楚,但您想打印什么?当按下按钮时?那起作用了!非常感谢你,我不知道可以这样做。
value = self.search_entry.get()
search_query = "SELECT * FROM {} WHERE name LIKE %s".format(orders_table)
mycursor.execute(search_query, (value,))
data = mycursor.fetchall()

ref = []
for count,element in enumerate(data):
    def show(item):
        print(item)
    Label(root, text=f"Ordr.number: {element[0]}").grid(column=0, sticky=W, row=count)
    ref.append(Button(root, text="Choose", command=lambda item=element: show(item)))
    ref[count].grid(column=1, sticky=W, row=count)