Как мне больше цвета кнопки, с разными цветами в tkinter ttk.button? - PullRequest
2 голосов
/ 16 мая 2019

Я хочу покрасить кнопки, но на данный момент я обнаружил, что цвет все сразу.

Я попытался 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 Ответ

2 голосов
/ 16 мая 2019

Вы не можете использовать bg или fg короткие формы фона и переднего плана в ttk.Style() вы должны использовать полные слова background и foreground для настройки стиля.

tkinter.TclError: неизвестный параметр "-bg"

Ошибка, которую вы получаете, заключается в том, что вы не можете передать -bg какаргумент ttk.Button().Чтобы настроить стиль любого виджета ttk, вы должны использовать ttk.Style с их уважаемыми именами стилей, такими как Кнопка: «TButton», Метка: «TLabel», Рамка: «TFrame» и т. Д. документация тематических виджетов 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()
...