2016-07-27 8 views
0

私の宿題では、ウィジェットを作成する必要があります。私はこれに非常に新しいです。私は私のボタンを表示しようとしています。私はそれらを梱包しようとしましたが、私は何が間違っているのか分かりません。ここに私が持っているものがあります。まず、あなたのインデントのGUI、ウィンドウにボタンが表示されない

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() 

答えて

2

はオフですが、あなたがいることを修正したら、あなたは実際にあなたのturtleAppクラスのインスタンスを作成することはありませんので、そのコードのどれもが今まで空のGUIであなたを残して実行されないされます。

# Actually create a turtleApp instance which adds the buttons 
app = turtleApp() 

# Enter your main event loop 
main.mainloop() 

また、明示的な()を使用して__init__内で実際にコールcreateDirectionPadする必要があります。そのままですが、self.createDirectionPad()なし)は、メソッドへの参照を作成するだけで、実際には呼び出しません。

def __init__(self): 
    # other stuff 
    self.createDirectionPad() 

更新

また、あなたの__init__関数宣言のタイプミスを持っています。最終的に___init__にあります。

+0

インスタンスを作成したあと、まだ実行されていません。 – Mia

+0

@Mia上記の – Suever

+0

を更新しました。コードを投稿した後、それを見て修正しました。どうやら、私のコードには私が見ていない別の問題があります。 – Mia

関連する問題