由于某种原因,我无法从子窗口获取条目。 我想从子窗口获取条目,然后绘制一个矩形。 我得到的错误是:x=float(self.txtSide.get()) AttributeError:“MainWindow”对象没有属性“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()
问题是
graphCupe
中的self
引用了MainWindow
实例,而不是子窗口。您需要将子窗口传递到graphCupe
函数中。这是一种方法:现在,
graphCupe
函数接受它需要操作的窗口,按钮调用该函数并将其传递给它的子窗口。在相关问题 更多 >
编程相关推荐