我尝试在创建一个小项目时学习 tkinter + customtkinter。我从多个地方获取了一些代码。在尝试将图像添加到 ctkinter 按钮时,会弹出以下错误:
给定图像不是 CTkImage 而是
代码:
import tkinter
import customtkinter
from PIL import Image,ImageTk
customtkinter.set_appearance_mode("System") # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue") # Themes: blue (default), dark-blue, green
app = customtkinter.CTk() # create CTk window like you do with the Tk window
wdth = app.winfo_screenwidth()
hgt = app.winfo_screenheight()
app.geometry("%dx%d"%(wdth,hgt))
def button_function():
print("button pressed")
img1=ImageTk.PhotoImage(Image.open(r"C:\Users\Vedant\Desktop\py project\pizzalogo-removebg-preview.png"))
# Use CTkButton instead of tkinter Button
button = customtkinter.CTkButton(master=app,image = img1, text="",width=500,height=200, command=button_function,compound='left')
button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)
app.mainloop()
我希望图像出现在按钮内
customtkinter.CTkImage
而不是ImageTk.PhotoImage
。
试试这个。
import tkinter
import customtkinter
from PIL import Image # ,ImageTk ## No need to import this
customtkinter.set_appearance_mode("System") # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue") # Themes: blue (default), dark-blue, green
app = customtkinter.CTk() # create CTk window like you do with the Tk window
wdth = app.winfo_screenwidth()
hgt = app.winfo_screenheight()
app.geometry("%dx%d"%(wdth,hgt))
def button_function():
print("button pressed")
img1=customtkinter.CTkImage(Image.open(r"C:\Users\Vedant\Desktop\py project\pizzalogo-removebg-preview.png"))
# Use CTkButton instead of tkinter Button
button = customtkinter.CTkButton(master=app,image = img1, text="",width=500,height=200, command=button_function,compound='left')
button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)
app.mainloop()