Как поместить значение записи в переменную в tkinter - PullRequest
1 голос
/ 04 июня 2019

Я пытаюсь получить значение записи в tkinter!

, когда я печатаю значение напрямую (например, print (e2.get ()), оно работает хорошо, но когда я помещаю это впеременная, а затем распечатать ее (например, x = e2.get () print (x)), она не работает!

вот код:

import tkinter as tk

def show_entry_fields():
    print("First Name: %s\n Last Name: %s" % (x, e2.get()))

master = tk.Tk()
tk.Label(master, 
         text="First Name").grid(row=0)
tk.Label(master, 
         text="Last Name").grid(row=1)

e1 = tk.Entry(master)
e2 = tk.Entry(master)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)

x = e1.get()

tk.Button(master, 
          text='Quit', 
          command=master.quit).grid(row=3, 
                                    column=0, 
                                    sticky=tk.W, 
                                    pady=4)
tk.Button(master, 
          text='Show', command=show_entry_fields).grid(row=3, 
                                                       column=1, 
                                                       sticky=tk.W, 
                                                       pady=4)

tk.mainloop()

Мне нужно поставитьзначение записи в переменной, как я могу это сделать?

1 Ответ

1 голос
/ 04 июня 2019

Это просто, если вы понимаете:

Когда код проходит мимо x = e1.get(), e1 равняется просто "".

После написания e1 и вызова def show_entry_fields при нажатии на кнопку.

Но x всегда равно "". И e1.get() получить текст в e1.

Так вот почему print(x) равно "", потому что вы проходите по линии x = e1.get() только один раз!

...