내 프로그램은 클릭 주사위를 따라야합니다. 하나, 둘, 셋, 네, 다섯, 여섯 개의 도트가있는 6 개의 주사위 이미지를 사용해야합니다. 처음에는 1 도트로 이미지를 보여 주며 이미지를 클릭 한 후 8 회 무작위로 바꿔야합니다. 결국 마지막 무작위 이미지가 화면에 남아 있어야하지만 작동하지 않으며 해결할 수 없습니다. 어떤 생각을 어떻게 고칠 수 있을까요? (I 3 개 수업이 필요하지 것을 알고,하지만 난이 문제를 soluted해야 할 때 내가 거기에 계속) 감사Python - 클릭 이벤트가있는 tkinter의 객체 지향 함수
import tkinter, random
class Main:
def __init__(self, area, dice):
dice.throw(area)
class Area:
def __init__(self):
self.canvas = tkinter.Canvas(width=1000, height=600)
self.canvas.pack()
self.dice1 = tkinter.PhotoImage(file='numberOne.png')
self.canvas.create_image(680,540,image=self.dice1)
self.canvas.bind('<Button-1>', Dice.throw)
class Dice:
def throw(event):
if event.x < 730 and event.x > 630 and event.y < 590 and event.y > 490:
dice1 = tkinter.PhotoImage(file='numberOne.png')
dice2 = tkinter.PhotoImage(file='numberTwo.png')
dice3 = tkinter.PhotoImage(file='numberThree.png')
dice4 = tkinter.PhotoImage(file='numberFour.png')
dice5 = tkinter.PhotoImage(file='numberFive.png')
dice6 = tkinter.PhotoImage(file='numberSix.png')
for i in range(8):
number = random.randrange(6) + 1
if number == 1:
area.canvas.create_image(680,540,image=dice1)
elif number == 2:
area.canvas.create_image(680,540,image=dice2)
elif number == 3:
area.canvas.create_image(680,540,image=dice3)
elif number == 4:
area.canvas.create_image(680,540,image=dice4)
elif number == 5:
area.canvas.create_image(680,540,image=dice5)
elif number == 6:
area.canvas.create_image(680,540,image=dice6)
area.canvas.after(100)
area.canvas.update()
pl = Area()
dice = Dice()
main = Main(pl, dice)
이 코드가 작동하지 않는 방법을 정확하게 알려주십시오. 오류가 있으면 붙여 넣기하십시오. – Nae
클릭 이벤트를 임의의 순서로 그림과 함께 연결하는 방법을 모르겠다. – Jozko
클래스 인스턴스 - bind ('', dice.throw)'와 함께 사용해야한다. - 그래서 당신은 '주사위 만들기' –
furas