所以,我在tkinter框架中有很多不同的按钮和标签,我都希望它们具有相似的属性。让我们说我希望他们所有人都有一个红色的前景色,并有一个透明的背景(我甚至可以这样做吗?这个透明背景只适用于按钮。)
我可以使用class
按钮(我认为这是ttk,但最好不要这样),类似于css会使我的所有按钮和标签都有红色文字吗?
答案 0 :(得分:6)
您可以扩展Button
类并根据需要定义其属性。例如:
from tkinter import *
class MyButton(Button):
def __init__(self, *args, **kwargs):
Button.__init__(self, *args, **kwargs)
self['bg'] = 'red'
root = Tk()
root.geometry('200x200')
my_button = MyButton(root, text='red button')
my_button.pack()
root.mainloop()
答案 1 :(得分:0)
from tkinter import *
class My_Button(Button):
def __init__(self, text, row, col, command, color=None, **kwargs):
self.text = text
self.row = row
self.column = col
self.command = command
self.color = color
super().__init__()
self['bg'] = self.color
self['text'] = self.text
self['command'] = self.command
self.grid(row=self.row, column=self.column)
def dothings():
print('Button class worked')
window = Tk()
window.title("Test Button Class")
window.geometry('400x200')
btn1 = My_Button("Click Me", 0, 0, dothings, 'green')
window.mainloop()