gpt4 book ai didi

python - tkinter Canvas 图像未在类里面显示

转载 作者:太空狗 更新时间:2023-10-30 02:32:39 28 4
gpt4 key购买 nike

我正在尝试使用 tkinter canvas 选项在 python 中显示图像。但是,如果我在一个类中输入它,如下所示,它不会给出错误,但也不会显示我的图像。虽然按钮显示正确。另外,如果我从类中取出用于生成此图像的代码,它就可以正常工作。我似乎无法找出问题所在。

import Tkinter as tk
from Tkinter import *

class Board(tk.Frame):
def __init__(self,parent):

frame = Frame(parent)
frame.pack()
tk.Frame.__init__(self,parent)

frame2 = Frame(frame)
frame2.pack()

c=Canvas(frame2)
c.pack(expand=YES,fill=BOTH)
background=PhotoImage(file='Board.gif')
c.create_image(100,100,image=background,anchor='nw')

button = Button(frame, text="Next turn", command=self.next_turn)
button.pack()

button = Button(frame, text="Roll the dice", command=self.roll)
button.pack()

....

root = Tk()
board = Board(root)
board.pack()
root.mainloop()

最佳答案

您必须保留对 PhotoImage 的引用。这只是示例(您也可以使用 self.background 而不是 c.background):

    c = Canvas(frame2)
c.pack(expand=YES,fill=BOTH)
c.background = PhotoImage(file='Board.gif')
c.create_image(100,100,image=c.background,anchor='nw')

关于python - tkinter Canvas 图像未在类里面显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846469/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com