_tkinter.tc错误:遇到不受支持的关键区块类型“exIf”

2024-10-04 01:27:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着把一些图片放进我的窗口,每当我运行这个程序时,它会给我这个错误:

_tkinter.TclError: encountered an unsupported criticial chunk type "exIf"

我试着把它转换成其他格式,比如.jpg.png.gif,但它们都不起作用。你能帮帮我吗?在

这是我的代码:

from tkinter import *
from tkinter import ttk

class Window:
def __init__(self, master):
    self.master = master
    master.iconbitmap('ta.ico')
    master.title('Tamagochi')
    master.minsize(width=480, height=240)
    master.maxsize(width=480, height=240)

    self.pic1 = PhotoImage(file='pic1.png')
    self.pic2 = PhotoImage(file='pic2.png')
    self.pic3 = PhotoImage(file='pic3.png')
    self.pic4 = PhotoImage(file='pic4.png')

    self.smFrame = ttk.Frame(master)
    self.smButton1 = ttk.Button(self.smFrame, text='Start', command=self.start)
    self.smButton2 = ttk.Button(self.smFrame, text='Options', command=self.options)
    self.smButton3 = ttk.Button(self.smFrame, text='Quit', command=self.quit)
    self.smPhoto1 = ttk.Label(self.smFrame, image=self.pic1)

    self.smFrame.pack()
    self.smPhoto1.grid()
    self.smButton1.grid(pady=40, padx=200)
    self.smButton2.grid(pady=0, padx=200)
    self.smButton3.grid(pady=40, padx=200)
def start(self):
    pass
def options(self):
    pass
def quit(self):
    exit()
root = Tk()
Window(root)
root.mainloop()

这是完整的错误:

^{pr2}$

Tags: textselfmasterpngtkinterdefbuttoncommand
1条回答
网友
1楼 · 发布于 2024-10-04 01:27:38

^{}是一个tkinter类,不幸的是,它不能处理.png文件。在

解决方案是依赖于Python Imaging Library1,它支持多种图像格式,并将它们转换为可以通过^{理解的图像对象:

from PIL import Image, ImageTk

self.img1 = Image.open("pic1.png")
self.pic1 = ImageTk.PhotoImage(self.img1)

1。您可以按照here所述安装PIL。

相关问题 更多 >