如何在tkinter ttk.button中为按钮添加更多的颜色?

时间:2019-05-16 01:58:22

标签: python button tkinter colors

我想给按钮上色,但此刻我只发现一次为所有颜色上色。

我在bg = "red"内通过ttk.button()进行了尝试,但返回以下错误:

  

/ _ tkinter.TclError:未知选项“ -bg”

style = ttk.Style()
style.configure("TButton",foreground="red")

#Botoes para funcoes da treeview
ttk.Button (text='Deletar', command = self.delete).grid(row=5,column=0, sticky = W + E)
ttk.Button (text='Editar', command = self.editar).grid(row=5,column=1, sticky = W + E)

希望您能帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您不能在ttk.Style()中使用背景前景 bg fg 简短形式必须使用完整的单词 background foreground 来配置样式。

  

tkinter.TclError:未知选项“ -bg”

您收到的错误是因为您无法将 -bg 作为参数传递给ttk.Button()。要配置任何ttk小部件的样式,您必须使用ttk.Style及其受尊敬的样式名称,例如 Button:“ TButton”,Label:“ TLabel”,Frame:“ TFrame” ,等等请参见documentation的Tk主题小部件。

要为不同的按钮创建单独的样式,则可以创建自定义样式名称。

例如:

from tkinter import *
from tkinter import ttk

root = Tk()

button1_style = ttk.Style() # style for button1
# Configure the style of the button here (foreground, background, font, ..)
button1_style.configure('B1.TButton', foreground='red', background='blue')
button1 = ttk.Button(text='Deletar', style='B1.TButton')
button1.pack()

button2_style = ttk.Style() # style for button2
# Configure the style of the button here (foreground, background, font, ..)
button2_style.configure('B2.TButton', foreground='blue', background='red')
button2 = ttk.Button(text='Editar', style='B2.TButton')
button2.pack()

root.mainloop()