Tkinter按钮点击按压时Borderwidth重置问题求助
解决Tkinter按钮点击按住时出现边框的问题
你遇到的问题是因为Tkinter的Button组件在**点击按住(active状态)**时,默认会保留边框样式,仅设置borderwidth=0不足以完全消除这个效果。可以通过以下方式解决:
- 给按钮添加
relief=FLAT参数,彻底移除按钮的边框样式(包括默认和active状态的边框) - 设置
activebackground和窗口背景色一致,避免点击时背景突兀变化
修改后的按钮代码如下:
checkmark_img = PhotoImage(file="images/right.png") correct_button = Button( image=checkmark_img, highlightthickness=0, bg=BACKGROUND_COLOR, highlightcolor=BACKGROUND_COLOR, borderwidth=0, relief=FLAT, # 移除所有边框样式 activebackground=BACKGROUND_COLOR # 点击时背景色与窗口一致 ) correct_button.grid(column=0, row=1)
原理说明
relief属性控制按钮的边框样式,默认值是RAISED,设置为FLAT后会完全取消边框的凸起/凹陷效果activebackground设置按钮在被点击按住时的背景色,和窗口背景色一致可以让按钮视觉上更统一,不会出现额外的边框感
内容的提问来源于stack exchange,提问作者yugms
相关产品推荐
相关产品推荐

