私はPythonスキル、特にOOPを開発するためにカードゲーム(モンスターマスターと呼ばれる)を作っています。Pythonのtkinterボタンが表示されない
私はいくつかの静的オブジェクトを持つGUIを持っています。プレーヤ1のテーブルの側、プレーヤ2の側、真ん中の細い線、そして私は現在「終了ターン」ボタンを実装しようとしています。
このボタンを表示させるためにさまざまなことを試みましたが、エラーがなくても表示されません。ただ、このボタンで問題を理解しようとするために一時的に取り除いたコメントがいくつかあります。
ここで私は現在しようとするために使用しているコードです:
def RunGame():
class App():
"""docstring for App"""
def draw():
# Setting up canvas dimensions
canvas_width = 640
canvas_height = 480
master = Toplevel()
master.title("Monster Master by Charles Cameron - Game")
master.resizable(width=False, height=False)
master.geometry("640x480")
w = Canvas(master,
width=canvas_width,
height=canvas_height)
w.pack()
# Drawing static objects
CentrePoints = [(0, canvas_height/2), (canvas_width/2, canvas_height/2),
(canvas_width, canvas_height/2)]
#Left, centre and right centres (save me from retyping them)
Player1Area = w.create_rectangle(CentrePoints[0], canvas_width,
canvas_height, fill="#303AFE") #Player1 Area
Player2Area = w.create_rectangle(0, 0, CentrePoints[2],
fill="#C31B1B") #Player2 Area
Barrier = w.create_line(CentrePoints[0], CentrePoints[2],
fill="#0090E3", width=20) # Centre barrier
# class GameBtn():
# class EndTurnBtn():
# def __init__(self, BtnName, master):
BtnName = Button(master, bg="white", command=lambda:print("Clicked!"))
image = ImageTk.PhotoImage(file="imgs\EndTurn.png")
BtnName.config(image=image, width="70", height="70")
BtnName.pack(side=RIGHT)
# ChangeTurn = GameBtn.EndTurnBtn('ChangeTurn', master)
master.mainloop()
Window = App()
App.draw()
実際のボタンのボタンのコードは、私が独自のスクリプトでそれをしようとしたときにうまく働いたが、私は、このプログラムの中に置く際に動作を停止に。
尋ねるのはあまりにも愚かではない、パイソンではかなりアマチュアであり、正直に答えはどこでもオンラインで見つけることはできません。
感謝
- あなたの '' image''のvaraibleたら範囲外になると、ボタンは空白になります。ページ下部の注 - http://effbot.org/tkinterbook/photoimage.htm –
ルートウィンドウと新しいウィンドウの両方を実際に使用するつもりでない限り、TopLevelは使用しないでください。私はあなたのコードには他の問題もあると思います(例えばImageTKは何ですか?) –