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

如何在CustomTkinter进度条内创建透明标签

解决CustomTkinter进度条内标签背景不透明的问题

CustomTkinter的CTkLabel即使设置fg_color='transparent',作为CTkProgressBar的子组件时仍会出现视觉上的背景残留,这是因为CTkLabel默认带有圆角(corner_radius),圆角区域的背景处理导致了这个问题。结合以下修改可以解决:

修改后的代码

import customtkinter as ctk

window = ctk.CTk()

prog_num = ctk.IntVar(value=100)
prog_str = ctk.StringVar(value='100/100')

prog_frm = ctk.CTkFrame(window)
prog_pbr = ctk.CTkProgressBar(prog_frm,
                              variable=prog_num,
                              height=15,
                              progress_color='#fa2844')

# 关键改动:添加corner_radius=0消除圆角背景残留,同时设置适配的文本颜色
prog_lbl = ctk.CTkLabel(prog_pbr, 
                        textvariable=prog_str, 
                        fg_color='transparent',
                        corner_radius=0,
                        text_color='white')

prog_pbr.pack(fill='x', padx=5, pady=5)
prog_lbl.place(rely=0.5, relx=0.5, anchor='center')  # 居中显示,按需调整位置
prog_frm.pack(fill='x', padx=10, pady=10)

window.mainloop()

核心改动说明

  • corner_radius=0:移除CTkLabel默认的圆角,避免圆角区域的背景渲染残留,确保透明效果生效
  • text_color='white':根据进度条的红色(#fa2844)设置白色文本,保证文字在进度条上的可读性,可根据进度条颜色自行调整
  • 标签位置可根据需求调整,比如保持左对齐则用relx=0, anchor='w'

内容的提问来源于stack exchange,提问作者Jam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:12:22