Как узнать какая кнопка нажата?Python Tkinter + SQLite - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь разработать приложение с графическим интерфейсом, которое управляет билетами от SAV. Я использую Python Tkinter, 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)

Так что, если вы знаете, как решить эту проблему, или если вы можете сказать мне, могу ли я сделать это лучше. Спасибо тебе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...