0
出于某种原因,我无法从子窗口中获取条目。 我想从子窗口中获取条目,然后绘制一个矩形。 ,我得到的错误是:X =浮子(self.txtSide.get()) AttributeError的: '主窗口' 对象没有属性 'txtSide'从子窗口获取条目?
import tkinter as tk
import turtle
tu=turtle
class MainWindow(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
self.button = tk.Button(self, text="Cupe",command=self.Cupe)
self.button.pack(side="top")
def Cupe(self):
c = tk.Toplevel(self)
c.wm_title("Cupe")
lab=tk.Label(c,text="Side")
lab.pack()
c.txtSide=tk.Entry(c)
c.txtSide.pack()
button=tk.Button(c,text="Graph",command=self.graphCupe)
button.pack(side="bottom")
def graphCupe(self):
x=float(self.txtSide.get())
tu.forward(x)
tu.left(90)
tu.forward(x)
tu.left(90)
tu.forward(x)
tu.left(90)
tu.forward(x)
if __name__ == "__main__":
root = tk.Tk()
main = MainWindow(root)
main.pack(side="top", fill="both", expand=True)
root.mainloop()
当然,另一种解决方案是使'txtSide'属性为'self'('self.txtSide = ...') – 2014-12-07 13:14:22
这也行得通,但如果另一个子窗口打开,它会覆盖属性。然后,如果子窗口1试图调用'graphCupe()',它将使用子窗口2中的'txtSide'属性。 – 2014-12-07 17:16:51