Форум сайта python.su
Код:
__author__ = 'Eugene' from tkinter import * from tkinter import ttk def button_new_user_clicked(): print ("Процедура создания нового пользователя") a = entry_fio.get() print(a) def button_new_config_clicked(event): # Создание нового пользователя root2 = Toplevel() root2.title("Создание нового пользователя") Label(root2, text="Фамилия и инициалы пользователя").grid(row=0, column=0) entry_fio = ttk.Entry(root2, width=50).grid(row=0, column=1) btn3 = ttk.Button(root2, text="Создать пользователя", command=button_new_user_clicked).grid(row=5, columnspan=2) root = Tk() btn1 = ttk.Button(root, text="Создать файл нового пользователя") btn1.bind("<Button-1>", button_new_config_clicked) btn1.pack(side="left", expand=TRUE) root.mainloop()
Офлайн
entry_fio - локальная переменная и находится в области видимости button_new_config_clicked.
Почитайте про область видимости переменных.
Офлайн
__author__ = 'Eugene' from tkinter import * from tkinter import ttk def button_new_user_clicked(entry_fio): print ("Процедура создания нового пользователя") a = entry_fio.get() print(a) def button_new_config_clicked(event): # Создание нового пользователя root2 = Toplevel() root2.title("Создание нового пользователя") Label(root2, text="Фамилия и инициалы пользователя").grid(row = 0, column = 0) entry_fio = ttk.Entry(root2, width = 50) entry_fio.grid(row = 0, column = 1) btn3 = ttk.Button(root2, text = "Создать пользователя", command = lambda : button_new_user_clicked(entry_fio)).grid(row = 5, columnspan = 2) root = Tk() btn1 = ttk.Button(root, text = "Создать файл нового пользователя") btn1.bind("<Button-1>", button_new_config_clicked) btn1.pack(side = "left", expand = TRUE) root.mainloop()
Офлайн
Paranoia_Agent
- В вашем случае entry_fio возвратит None, нельзя в одной строке объявлять и паковать виджет.
Офлайн
4kpt_IIIЯ не совсем правильно сформулировал свою мысль, я это и имел ввиду
Офлайн