我正在尝试创建一个Connect 4游戏。 当用户按下列时,图像应出现在正确的位置。 但是,该图像要么显示为灰色bg,要么根本不显示。
首先,我将这些列创建为不同的标签,并通过几个操作将它们绑定,然后创建了光盘,单击鼠标时该光盘也应作为标签可见。这导致图像按应有的方式显示,但带有bg。然后我读到不可能用trans创建标签。 bg,所以我试图让整个东西像一块画布一样工作,但是绑定不起作用...
这是init方法的一部分,创建到列:
for i in range (7):
self._cols[i] = tk.Label(self._cnv, image=self.col_img, bd=0,
background="white")
self._cols[i].image = self.col_img
self._cols[i].pack(side=tk.LEFT)
self._cols[i].bind("<Enter>",
lambda event: event.widget.configure(
image=self.inv_img))
self._cols[i].bind("<Leave>",
lambda event: event.widget.configure(
image=self.col_img))
self._cols[i].bind("<Button-1>",
lambda event, i=i: self._col_pressed.set(i + 1)
或者,当我尝试创建一个大画布时,它看起来像这样(我尝试以相同的方式添加绑定,但没有用):
for i in range (7):
x=self._cnv.create_image(107*i+50,0,image = self.col_img)
self._cnv.itemconfig(x, image = self.col_img)
self._cnv.pack()
这是绘制光盘的方法(仍然没有找到y位置):
def add_disc(self, coor, player):
if player == 1:
self._player1_discs[coor] = tk.Label(image=self.harry_img)
self._player1_discs[coor].place(x=17 + 106 * coor[1], y=250)