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