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

Python tkinter修改Button边框颜色时Frame方案不生效如何解决

你用Frame模拟按钮边框的方案逻辑成立,代码未生效的原因是按钮布局时未预留内边距,Frame的背景色完全被按钮遮挡,无法呈现边框效果,按以下方式修改即可生效:

方案1:调整现有Frame嵌套代码

在按钮的pack()方法中添加padx、pady参数,数值对应你需要的边框粗细,留出空隙让Frame的背景色露出,即可形成按钮边框效果。

import tkinter
from tkinter import *
root = Tk()

l_f = Frame(root, bg="black")
l_f.pack()
# 原代码中fg为白色和按钮背景色重复,已修改为黑色避免文字不可见
l = Button(l_f, text="fdffdfd", bg="white", fg="black")
# padx/pady数值即为边框宽度,可按需调整
l.pack(padx=2, pady=2)

root.mainloop()

方案2:直接用Button原生参数实现边框

不需要嵌套Frame也可以直接修改按钮自带的边框参数实现效果:

import tkinter
from tkinter import *
root = Tk()

# bd为边框宽度,relief设为solid是实线边框,highlightbackground为边框颜色
l = Button(root, text="fdffdfd", bg="white", fg="black", bd=0, highlightthickness=2, highlightbackground="black", relief="solid")
l.pack()

root.mainloop()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 11:03:04