저는 파이썬 스킬 (특히 OOP)을 개발하기 위해 몬스터 마스터라고 불리는 카드 게임을 만들고 있습니다.파이썬 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''의 가변적이고 번 범위를 벗어나면 버튼이 공백이됩니다. 페이지 하단의 참고 사항 - http://effbot.org/tkinterbook/photoimage.htm –
실제로 루트 창과 새 창을 모두 사용하지 않는 한 TopLevel을 사용하거나 사용하지 않아야합니다. 나는 당신의 코드가 다른 이슈들도 가지고 있다고 생각한다. (예를 들어 ImageTK는 무엇인가?) –