【发布时间】:2019-09-02 01:24:15
【问题描述】:
我正在尝试制作一个简单的纸牌游戏,比如纸牌。 我在编码方面没有经验,所以如果这是一个简单的问题,请原谅我。
我想移动一些画布对象。新对象具有正确的值,但是当我拖动已经存在的卡片时,它显示错误的值(荷兰语中的 waarde)。我想将值(waarde)绑定到一张卡片上,但不知道该怎么做……
考虑标签、绑定、ID....
from tkinter import *
from random import randint
window = Tk()
deck = [1,2,3,4,5,6]
def pakkaart():
rand_card = randint(0,len(deck)-1)
global waarde
waarde = deck[rand_card]
deck.pop(rand_card)
global kaart
kaart = Canvas(window, width = 40, height = 40, bg='yellow')
kaart.place(x=50, y=50, anchor=CENTER)
kaart.create_text(20,20,text=(waarde))
kaart.bind("<B1-Motion>", drag)
def drag(event):
event.widget.place(x=event.x_root, y=event.y_root,anchor=CENTER)
print(waarde)
button1 = Button(window, text="Nieuwe Kaart", command=pakkaart)
button1.pack()
window.mainloop()
所以本质上是在寻找一种将值绑定到画布的方法。
【问题讨论】:
-
拖动卡片时找不到任何问题。我唯一看到的是,您将在 6 次点击后耗尽您的
deck,从而提高ValueError。
标签: python python-3.x tkinter drag