对于我的作业,我必须创建一个小部件。我对此很新。我正试图让我的按钮显示出来。我试过打包它们,但我不知道我做错了什么。这就是我所拥有的。
from tkinter import *
import turtle
main = Tk()
main.title("TurtleApp")
class turtleApp:
def __init_(self):
self.main = main
self.step = 10
self.turtle = turtle.Turtle()
self.window = turtle.Screen()
self.createDirectionPad
def createDirectionPad(self):
mainFrame = Frame(main)
mainFrame.pack()
button1 = Button(mainFrame,text = "left", fg="red")
button2 = Button(mainFrame,text = "right", fg="red")
button3 = Button(mainFrame,text = "up", fg="red")
button4= Button(mainFrame,text = "down", fg="red")
button1.pack()
button2.pack()
button3.pack()
button4.pack()
main.mainloop()
答案 0 :(得分:2)
首先你的缩进是关闭的,但是一旦你修复了它,你就永远不会真正创建你的turtleApp
类的实例,所以这些代码都不会被执行,只留下一个空的GUI。
# Actually create a turtleApp instance which adds the buttons
app = turtleApp()
# Enter your main event loop
main.mainloop()
您还需要使用显式createDirectionPad
在__init__
内实际调用 ()
。实际上,self.createDirectionPad
(没有()
)只是创建了对该方法的引用,并且实际上并没有调用它。
def __init__(self):
# other stuff
self.createDirectionPad()
<强>更新强>
您的__init__
函数声明中也有拼写错误。您错过了_
__init__