将图片放入CustomTkinter按钮后出现过度缩小的问题
解决CustomTkinter按钮中图片过度缩小的问题
问题出在创建CTkImage时未指定目标尺寸,CustomTkinter会按默认规则缩小图片,导致适配按钮时显示异常。
修复步骤:
- 创建
CTkImage时,通过size参数指定与按钮匹配的尺寸,同时用corner_radius适配按钮圆角,避免图片边缘被裁切。 - 调整后的图片加载代码:
addUserIcon = customtk.CTkImage(Image.open("addUserIcon.png"), size=(150, 150), corner_radius=20)
完整代码示例:
import customtkinter as customtk from PIL import Image # 初始化窗口 adminDashboardLabel = customtk.CTk() adminDashboardLabel.geometry("800x600") # 加载图片并指定尺寸和圆角 addUserIcon = customtk.CTkImage(Image.open("addUserIcon.png"), size=(150, 150), corner_radius=20) # 创建按钮 addUserAccountButton = customtk.CTkButton( adminDashboardLabel, image=addUserIcon, width=150, height=150, text="", corner_radius=20, fg_color="#5E7BE3", hover_color="#4461C7" ) addUserAccountButton.place(relx=0.5, rely=0.4, anchor="center") adminDashboardLabel.mainloop()
补充说明:
- 若想让图片保持原比例不被拉伸,可只指定一个维度(比如
size=(150, None)),CTkImage会自动按比例计算另一维度大小,再居中显示在按钮内。 - 按钮的
corner_radius需与CTkImage的corner_radius保持一致,确保图片边缘和按钮圆角完美贴合。
内容的提问来源于stack exchange,提问作者AjaXI
相关产品推荐
相关产品推荐

