我正在尝试使用tkinter显示图像。我注意到这里有重复的代码。我试图摆脱这些代码来显示图像。我的目标是不以离散的方式显示多个图像,而是以数量动态显示它们。
请帮助谢谢。
def __init__(self):
Frame.__init__(self)
self.master.title("Black Jack")
blackjack = Blackjack()
self.grid()
self._playerCardImage = PhotoImage(file=str(blackjack._player._cards[0].fileName))
self._playerCardLabel = Label(self, image = self._playerCardImage)
self._playerCardLabel.grid(row=0, column=0)
self._playerCardImage1 = PhotoImage(file=str(blackjack._player._cards[1].fileName))
self._playerCardLabel1 = Label(self, image = self._playerCardImage1)
self._playerCardLabel1.grid(row=0, column=1)
self._dealerCardImage = PhotoImage(file=str(blackjack._dealer._cards[0].fileName))
self._dealerCardLabel = Label(self, image = self._dealerCardImage)
self._dealerCardLabel.grid(row=0, column=2)
self._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardLabel1 = Label(self, image = self._dealerCardImage1)
self._dealerCardLabel1.grid(row=0, column=3)
答案 0 :(得分:1)
目前尚不清楚你的模式究竟是什么,但如果这是我怀疑的,下面应该有效:
for index in range(<your range>):
if index % 4 == 0:
self._playerCardImage = PhotoImage(file=str(blackjack._player._cards[index].fileName))
self._playerCardLabel = Label(self, image = self._playerCardImage)
self._playerCardLabel.grid(row=0, column=index)
elsif index %4 == 1:
self._playerCardImage1 = PhotoImage(file=str(blackjack._player._cards[index].fileName))
self._playerCardLabel1 = Label(self, image = self._playerCardImage1)
self._playerCardLabel1.grid(row=0, column=index)
...
您应该能够使用索引变量上的mod操作来计算行/列/文件索引。如果只有四个分支(如上例所示),那么if语句中将有四个分支。