0

小さなゲーム用の写真付きのボタンを生成する方法を探しています。Tkinter と Grid レイアウトを 2 つの方法で使用していますが、そのうちの 1 つだけが機能しました。

画像付きのボタンを生成する最初の (ハードコードされた) 方法のコード例を次に示します。

currentImage=PhotoImage(file="Pictures//greenopen1s.gif")
currentImage = currentImage.subsample(x = "2", y = "2")
b2 = Button(root, image=currentImage)
b2.grid(column = 0, row = 1)

root.mainloop()

次に、引数のカードに従って画像を開いた状態でボタンを生成する 2 番目の一般的な方法を示します。

b1 = Button(root, image=getImage(visibleCards[0])) 
b1.grid(column = 0, row = 0)

root.mainloop()

def getImage(card):
 currentPath = "Pictures//"
 currentColor = card.color
 currentPath = currentPath + currentColor
 currentShading = card.shading
 currentPath = currentPath + currentShading
 currentNumber = card.number
 currentPath = currentPath + currentNumber
 currentPath = currentPath + card.symbol
 currentPath = currentPath + ".gif"

 currentImage=PhotoImage(file=currentPath)
 currentImage = currentImage.subsample(x = "2", y = "2")

 return currentImage

PhotoImage をロードする画像アルゴリズムは正しく機能し、.gif ファイルは正しい場所にあります。画像を取得するこれら2つの方法の違いを知りたいです。

どうもありがとうございました

4

1 に答える 1