如何去除CTkButton组件的黑色边角?
按钮周围存在黑色边角,不清楚如何去除,相关实现代码如下:
# 创建Workout按钮 equipment_image = ImageTk.PhotoImage(Image.open("assets/dumbell.png").resize((100,100),Image.ANTIALIAS)) equipment_button=customtkinter.CTkButton(master=home,image=equipment_image,compound="top",text="Workout", fg_color="white", hover_color= "White" , hover= True,border_color="White" , border_width= 0 ,text_color="black") equipment_button.place(relx=0.3, rely=0.5, anchor=tkinter.CENTER) # 创建Diet按钮 food_image=ImageTk.PhotoImage(Image.open("assets/food.png").resize((100,100),Image.ANTIALIAS)) food_button = customtkinter.CTkButton(master = home,image=food_image, text="Diet",fg_color="white", hover_color= "White" , hover= True, compound="top" , border_width= 0, border_color= "White",text_color="black") food_button.place(relx=0.7, rely=0.5, anchor=tkinter.CENTER) # 创建System按钮 system_image=ImageTk.PhotoImage(Image.open("assets/system.png").resize((100,100),Image.ANTIALIAS)) system_button = customtkinter.CTkButton(master = home,image=system_image, text="Coming Soon",fg_color="white", hover_color= "White" , hover= True, compound="top" , border_width= 0, border_color= "White",text_color="black") system_button.place(relx=0.3, rely=0.7, anchor=tkinter.CENTER) # 创建查找最近健身房按钮 closest_gym_image = ImageTk.PhotoImage(Image.open("assets/Closest gym.png").resize((100,100),Image.ANTIALIAS)) closest_gym_button = customtkinter.CTkButton(master = home,image=closest_gym_image, text="Coming Soon",fg_color="white", hover_color= "White" , hover= True, compound="top" , border_width= 0, border_color= "White", text_color="black") closest_gym_button.place(relx=0.7, rely=0.7, anchor=tkinter.CENTER)
解决方法
出现黑色边角是因为CTkButton默认带有圆角设计,圆角边缘的底色未与按钮前景色匹配导致的,可通过以下方式解决:
- 完全消除圆角(推荐):在创建CTkButton时添加
corner_radius=0参数,让按钮变成直角,同时消除黑色边角。示例:equipment_button=customtkinter.CTkButton( master=home, image=equipment_image, compound="top", text="Workout", fg_color="white", hover_color="White", hover=True, border_color="White", border_width=0, text_color="black", corner_radius=0 # 添加该参数 ) - 保留圆角并修正边缘:如果需要保留圆角,确保
corner_radius数值合适,同时将border_color设置为与fg_color一致的颜色,另外检查按钮父容器的背景色是否和按钮前景色匹配,避免边缘色差。
内容的提问来源于stack exchange,提问作者Joseph Wu
相关产品推荐
相关产品推荐

