如何更改TTK按钮的颜色

问题描述

不幸的是,没有一种简单的方法可以从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'
>>>

解决方法

我在Windows上使用Python3.x。

我的问题是我想ttk通过完全更改其背景和前景色来自定义按钮小部件。但是到目前为止,我一直没有成功。

我想要的按钮是:

在此处输入图片说明

我阅读了ttk.Style指南并使用了他们的代码:

ttk.Style().configure("TButton",padding=6,relief="flat",background="#000")

btn = ttk.Button(text="Sample")
btn.pack()

但是它改变了边框的颜色,而不是整个按钮的背景。这是输出:

在此处输入图片说明

请帮助我实现所需的按钮。