Python Tkinter显示图像

Python Tkinter显示图像,python,image,tkinter,Python,Image,Tkinter,这是我试图显示图像的代码。 好。。首先,屏幕上应显示4张卡片;然而,只有两个。 我不知道为什么会这样。我真的需要帮助 def __init__(self): Frame.__init__(self) self.master.title("Black Jack") blackjack = Blackjack() self.grid() self._playerCardImage = PhotoImage(file=str(blackjack._player

这是我试图显示图像的代码。 好。。首先,屏幕上应显示4张卡片;然而,只有两个。 我不知道为什么会这样。我真的需要帮助

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._dealerCardImage = Label(self, image = self._dealerCardImage)
    self._dealerCardImage.grid(row=0, column=2)

    self._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
    self._dealerCardImage1 = Label(self, image = self._dealerCardImage1)
    self._dealerCardImage1.grid(row=0, column=3)

前两张卡的前两行代码:

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._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardImage1 = Label(self, image = self._dealerCardImage1)
self._dealerCardImage1.grid(row=0, column=3)
最后2张卡的最后2行代码:

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._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardImage1 = Label(self, image = self._dealerCardImage1)
self._dealerCardImage1.grid(row=0, column=3)
您正在将
\u经销商CardImage1
重新初始化为标签。
您需要将alst 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)
def __init__(self):
    Frame.__init__(self)
    self.master.title("Black Jack")
    blackjack = Blackjack()
    self.grid()

    self._images = []
    self._labels = []
    for column in range(4):
        image = PhotoImage(file=str(blackjack._player._cards[column].fileName))
        label = Label(self, image = image)
        label.grid(row=0, column=column)

        self._images.append(image)
        self._labels.append(label)

前两张卡的前两行代码:

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._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardImage1 = Label(self, image = self._dealerCardImage1)
self._dealerCardImage1.grid(row=0, column=3)
最后2张卡的最后2行代码:

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._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardImage1 = Label(self, image = self._dealerCardImage1)
self._dealerCardImage1.grid(row=0, column=3)
您正在将
\u经销商CardImage1
重新初始化为标签。
您需要将alst 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)
def __init__(self):
    Frame.__init__(self)
    self.master.title("Black Jack")
    blackjack = Blackjack()
    self.grid()

    self._images = []
    self._labels = []
    for column in range(4):
        image = PhotoImage(file=str(blackjack._player._cards[column].fileName))
        label = Label(self, image = image)
        label.grid(row=0, column=column)

        self._images.append(image)
        self._labels.append(label)

在对另一个答案的提问中,您询问是否可以在循环中创建图像。没有什么能阻止你这么做

例如,如果要创建4张玩家卡,可以执行以下操作:

self._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardLabel1 = Label(self, image = self._dealerCardImage1)
self._dealerCardLabel1.grid(row=0, column=3)
def __init__(self):
    Frame.__init__(self)
    self.master.title("Black Jack")
    blackjack = Blackjack()
    self.grid()

    self._images = []
    self._labels = []
    for column in range(4):
        image = PhotoImage(file=str(blackjack._player._cards[column].fileName))
        label = Label(self, image = image)
        label.grid(row=0, column=column)

        self._images.append(image)
        self._labels.append(label)

在对另一个答案的提问中,您询问是否可以在循环中创建图像。没有什么能阻止你这么做

例如,如果要创建4张玩家卡,可以执行以下操作:

self._dealerCardImage1 = PhotoImage(file=str(blackjack._dealer._cards[1].fileName))
self._dealerCardLabel1 = Label(self, image = self._dealerCardImage1)
self._dealerCardLabel1.grid(row=0, column=3)
def __init__(self):
    Frame.__init__(self)
    self.master.title("Black Jack")
    blackjack = Blackjack()
    self.grid()

    self._images = []
    self._labels = []
    for column in range(4):
        image = PhotoImage(file=str(blackjack._player._cards[column].fileName))
        label = Label(self, image = image)
        label.grid(row=0, column=column)

        self._images.append(image)
        self._labels.append(label)

哦,天哪。。我的错。粗心的错误!谢谢大家!@用户1047092没问题:),记住也要标记答案,这会让人们想帮助你更多。我只是想问另一个问题。现在我正在尝试显示4幅图像。有没有一种方法可以显示图像,而不必像上面那样编写重复的代码?@user1047092我不知道,但如果你单独发布一个包含该内容的问题,可能会有人能够回答。@user1047092:当然有。在循环中编写代码与复制代码没有什么不同。哦,天哪。。我的错。粗心的错误!谢谢大家!@用户1047092没问题:),记住也要标记答案,这会让人们想帮助你更多。我只是想问另一个问题。现在我正在尝试显示4幅图像。有没有一种方法可以显示图像,而不必像上面那样编写重复的代码?@user1047092我不知道,但如果你单独发布一个包含该内容的问题,可能会有人能够回答。@user1047092:当然有。在循环中编写代码与复制代码没有什么不同。