【问题标题】:Tkinter: how to get a string from a top-level entry? [closed]Tkinter:如何从顶级条目中获取字符串? [关闭]
【发布时间】:2017-07-14 10:47:05
【问题描述】:

在 tkinter 中,我如何 .get() 来自顶级窗口的条目?

def logika(event):
    a=e.get()

def pocetak(event):
    igra=Toplevel(glavni)
    igra.geometry("500x500+710+290")

    e=Entry(igra)
    e.pack()

    GumbIgra=Button(igra,text="Unos")
    GumbIgra.bind("<Button>",func=logika)
    GumbIgra.pack()
    return

glavni=Tk()
glavni.geometry("600x600")
glavni.resizable(True,True)

glavniGumb=Button(glavni,text="Za početak stisni me!",pady=10,padx=15)
glavniGumb.config(font=("Arial",10))
glavniGumb.bind("<Button>",func=pocetak)
glavniGumb.pack()

【问题讨论】:

  • 实际的错误或问题是什么?预期的输出是什么,你得到了什么?

标签: python tkinter toplevel tkinter-entry


【解决方案1】:

似乎logika(event) 函数无法弄清楚e 是什么。您必须传递对象。

所以像这样(未经测试):

from tkinter import *
#Creating main window
root = Tk()

def Input_Box():
    # creating a top window
    master_2 = Toplevel(root)

    #Textboxes
    user_name = Entry(master_2)
    user_name.grid(row = 1, column = 2)
    pwd = Entry(master_2)
    pwd.grid(row = 2, column = 2)

    label_un = ttk.Label(master_2, text = "Username")
    label_un.grid(row = 1, column = 1)
    label_pwd = ttk.Label(master_2, text = "Password")
    label_pwd.grid(row = 2, column = 1)

    get_button = Button(master_2, text = "Confirm", command = lambda: getname(user_name))
    get_button.grid(row=3, column = 1)
    master_2.mainloop() 

def getname(user_name):
    input = user_name.get()
    print(input)


call_button = Button(root, text='Enter Usrnm and pwd', command = Input_Box)
call_button.pack()
root.mainloop()

command = lambda: getname(user_name) 传递引用文本框的 user_name 对象。 希望这会有所帮助!

请告诉我们确切的错误。

PS:这是为了其他目的,但我认为这应该会有所帮助。

【讨论】:

  • 非常感谢您为此提供的帮助,但我设法解决了它。它缺少全局。这解决了所有愚蠢的孩子甚至在这里发布它的问题。但无论如何感谢您的反馈
猜你喜欢
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-07-13
  • 2019-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
相关资源
最近更新 更多