为了账号安全,请及时绑定邮箱和手机立即绑定

使用按钮命令移动tkinter标签

使用按钮命令移动tkinter标签

慕娘9325324 2021-03-16 12:09:55
我正在尝试使用python和tkinter重新创建棋盘游戏的垄断地位。我知道如何在画布或框架上放置标签,但是应该如何从类中的另一个函数运行此命令?我在类Board中使用了某些功能进行了尝试,但是由于在中发生这种情况,因此错误出现,因为未定义标签,画布等__init__(self,parent)。我该如何解决这些错误?还是我应该采取其他方法?希望我能解决我的问题。import tkFileDialogfrom random import randintclass 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()
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号