为什么我不能在 tkinter (python) 中使用带有 grid() 排列的 get() 方法?



我想从GUI的输入字段中读取一个输入。我的问题是,如果我对订单使用grid((方法,我的代码就不起作用。如果我使用pack((方法,它会起作用。。。我要做的是,get((方法也可以与grid((方法结合使用?

例如,用于pack((

from tkinter import *  
def function1():
ci = e1.get()
print(c1)
window = Tk()
e1 = Entry(window)
b1 = Button(text="Ok", command=read_input_field)
e1.pack()
b1.pack()
window.mainloop()

例如for不适用于grid((

from tkinter import *  
def function1():
ci = e1.get()
print(c1)
window = Tk()
e1 = Entry(window).grid(row=1, column=2)
b1 = Button(text="Ok", command=read_input_field).grid(row=1, column=2) 
window.mainloop()

我希望你能帮助我。

提前热烈感谢

tron

问题是.grid方法不返回任何内容,因此b1的值错误。您需要将其分为两行:

b1 = Button(text="Ok", command=read_input_field)
b1.grid(row=1, column=2)

tkinter是一代人以前设计的。它在任何方面都不是面向对象的。

最新更新