我正在写游戏记忆的一个版本。我有两个组-一个用于“封面”,另一个用于卡片本身。封面是为了隐藏卡片而放在卡片顶端的封面。我不明白的问题是,当用户点击其中一张卡片时,我使用kill()来移除封面卡片,下面的卡片显示(本质上是翻转的),但是我不知道如何找到卡片在群组中的位置。如何找出用户点击的是哪张卡?
发布于 2016-02-15 07:05:07
答案取决于您如何显示图像。这是一个使用Button子类的mcve。这允许实例携带标识信息并使用绑定方法作为命令。
import tkinter as tk
root = tk.Tk()
class Card(tk.Button):
hide = 'XXX'
def __init__(self, txt):
super().__init__(root, text=self.hide)
self.txt = txt
self.exposed = False
def flip(self):
self['text'] = self.hide if self.exposed else self.txt
self.exposed = not self.exposed
for i, txt in enumerate(('one', 'two')):
card = Card(txt)
card['command'] = card.flip
card.grid(row=0, column=i)
#root.mainloop() # uncomment if run on command line without -ihttps://stackoverflow.com/questions/35398422
复制相似问题