You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将图片放入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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:36:11