Python Меню Tkinter дает ту же строку - PullRequest
0 голосов
/ 19 апреля 2020
from tkinter import *

root = Tk()

def oku():
    l1=Label(root,text=0)
    myfilerr=open("kayit.txt","r")
    content=myfilerr.readlines()
    myfilerr.close()
    return content


def kisiSec(kisi):
    okudeg=oku()
    print(kisi)

def main():
    i=0
    okudeg=oku()
    menubar = Menu(root)
    menu2=Menu(menubar,tearoff=0)
    for i in okudeg:
        menu2.add_command(label=i, command=lambda: kisiSec(i))
    root.config(menu=menubar)
    menubar.add_cascade(label="Kişiler", menu=menu2) 

main()



root.mainloop()

Не судите меня, я новичок, но в тексте есть 3 разных имени, но в основном кнопки c1 выдают одно и то же имя для kisise c () Как я могу это исправить? --ITS TURKI SH -

1 Ответ

0 голосов
/ 19 апреля 2020

используйте это:

lambda i=i:

в для l oop, потому что что-то говорит о неправильной вещи, поэтому вам нужно сохранить ее в лямбду, чтобы функция получила доступ к параметру.

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