我在
Windows上使用
Python 3.x.
我的问题是我想通过完全改变它的背景和前景色来自定义ttk的按钮小部件.但到目前为止,我一直没有成功.
我想要的按钮是:
ttk.Style().configure("TButton",padding=6,relief="flat",background="#000") btn = ttk.Button(text="Sample") btn.pack()
但它正在改变边框颜色而不是整个按钮bakground.这是输出:
请帮我实现我想要的按钮.
解决方法
不幸的是,没有一种简单的方法可以从ttk库中更改按钮的前景.它始终是您图片中的标准Windows灰色.
但是如果你设置了正确的选项,你可以用普通的tkinter.Button轻松获得你想要的东西.下面是一个示例脚本:
import tkinter as tk root = tk.Tk() btn = tk.Button(root,bg='#000000',fg='#b7f731',relief='flat',text='hello button',width=20) btn.pack() root.mainloop()
以下是它的样子:
此外,我选择的绿色阴影只是一个我认为非常接近你想要的例子.但您可以指定所需的任何十六进制颜色代码.如果你需要将RGB值转换为十六进制,一个简单的技巧是使用str.format
,如下所示:
>>> rgb = (183,247,49) >>> '#{:02x}{:02x}{:02x}'.format(*rgb) '#b7f731' >>>