使用按钮命令移动tkinter标签

我正在尝试使用python和tkinter重新创建棋盘游戏的垄断地位。我知道如何在画布或框架上放置标签,但是应该如何从类中的另一个函数运行此命令?我在类Board中使用了某些功能进行了尝试,但是由于在中发生这种情况,因此错误出现,因为未定义标签,画布等__init__(self,parent)。我该如何解决这些错误?还是我应该采取其他方法?希望我能解决我的问题。


import tkFileDialog

from random import randint


class Board(Frame):

    def __init__(self,parent):



        ##create the board

        frame = Frame(parent)

        frame.pack()

        Frame.__init__(self,parent)


        frame2 = Frame(frame)

        frame2.pack()


        c=Canvas(frame2,width=480,height=480)

        c.pack(expand=YES,fill=BOTH)

        c.background=PhotoImage(file='Board.gif')

        c.create_image(0,0,image=c.background,anchor='nw')


        ##Add player 1

        player1=PhotoImage(file='plane.gif')

        label_player1 = Label(c,image=player1)

        label_player1.image=player1

        label_player1.place(x=430,y=420)


        ##Add player 2

        player2=PhotoImage(file='car.gif')

        label_player2 = Label(c,image=player2)

        label_player2.image=player2

        label_player2.place(x=430,y=450)


        button = Button(frame, text="Next turn", command=self.next_turn)

        button.pack()


        button = Button(frame, text="Roll the dice", command=self.roll)

        button.pack()


    def roll(self):

        number=randint(2,12)

        if b==0:

            self.place_player_down()

        return number


    def place_player_down(self):


        for i in range(number+1):

            h=int(430-i*30)

            while h>=0:

                player2=PhotoImage(file='car.gif')

                label_player2 = Label(c,image=player2)

                label_player2.image=player2

                label_player2.place(x=h,y=420)


root = Tk()

board = Board(root)

board.pack()

root.mainloop()


慕娘9325324
浏览 280回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python