如何知道按下了哪个按钮?Python Tkinter+SQLi

2024-10-05 14:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试开发一个GUI应用程序来管理SAV的票证。我使用的是pythontkinter,sqlite3。 我的问题是,我为每张票都创建了按钮。此按钮用于打开车票档案。但我不知道怎么识别哪个按钮被按下了。而且每个按钮都有相同的命令,但显示的数据将受此按钮的影响

我试图为每个案例创建一个ID来标识行,但这样做没有成功

for N_Nom in curseur.execute("SELECT Nom FROM client"):
    Label(FrameMain, text=N_Nom,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_nom.get(), column=1)
    c_nom.set(c_nom.get() + 1)

for N_Code in curseur.execute("SELECT Codification FROM SAV"):
    Label(FrameMain, text=N_Code,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_code.get(), column=2)
    c_code.set(c_code.get() + 1)

for N_State in curseur.execute("SELECT Etat_Ticket FROM SAV"):
    Label(FrameMain, text=N_State,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_state.get(), column=3)
    c_state.set(c_state.get() + 1)

for N_Date in curseur.execute("SELECT Date_Ticket FROM SAV"):
    Label(FrameMain, text=N_Date,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_date.get(), column=4)
    c_date.set(c_date.get() + 1)

for N_client in curseur.execute("SELECT Num_Ticket FROM SAV"):
    Label(FrameMain, text=N_client,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_client.get(), column=0)
    Button(FrameMain, text='Compléter', font=('Arial',14), cursor='hand2', command= lambda : config(N_client, N_Nom, N_Code, N_State, N_Date)).grid(row=c_client.get(),column=6, sticky='e')

    Label(FrameMain, text=N_client,bg='#C2C2C2',font=('Arial',12,'bold')).grid(row=c_client.get(), column=0)
    c_client.set(c_client.get() + 1)

如果你知道怎么解决这个问题,或者你能告诉我我能不能做得更好。谢谢你


Tags: textclientgetcolumn按钮labelgridrow