小さなゲーム用の写真付きのボタンを生成する方法を探しています。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つの方法の違いを知りたいです。
どうもありがとうございました