我将如何编辑自定义条目对象上的 tkinter 字体属性?
How would I edit tkinter font attribute on a custom entry object?
我正在尝试自定义 Tkinter 输入框。我创建了一个 class 继承自 tk.Entry
.
这是 class 的当前代码:
class CustomEntry(tk.Entry):
def __init__(self, master=None, label="Enter a task", **kwargs):
tk.Entry.__init__(self, master, **kwargs)
self.label = label
self.on_exit()
self.bind('<FocusIn>', self.on_entry)
self.bind('<FocusOut>', self.on_exit)
def on_entry(self, event=None):
if self.get() == self.label:
self.delete(0, tk.END)
def on_exit(self, event=None):
if not self.get():
self.insert(0, self.label)
我希望能够使用自定义 class 代码更改对象的 font/font 颜色。
例如,在on_entry
方法中,我希望能够改变字体的粗细或颜色。
很高兴提供更多详细信息。
EDIT 1: 澄清一下,我想在创建对象时编辑之前给定的 arguments/attributes 例如编辑 font=self.customfont1
tk.Entry(self, font=self.customfont1).pack()
让我们说 font=self.customfont2
但在实际对象中 class.
您可以调用 self.configure(font=...)
,给它指定您想要的任何字体。
我正在尝试自定义 Tkinter 输入框。我创建了一个 class 继承自 tk.Entry
.
这是 class 的当前代码:
class CustomEntry(tk.Entry):
def __init__(self, master=None, label="Enter a task", **kwargs):
tk.Entry.__init__(self, master, **kwargs)
self.label = label
self.on_exit()
self.bind('<FocusIn>', self.on_entry)
self.bind('<FocusOut>', self.on_exit)
def on_entry(self, event=None):
if self.get() == self.label:
self.delete(0, tk.END)
def on_exit(self, event=None):
if not self.get():
self.insert(0, self.label)
我希望能够使用自定义 class 代码更改对象的 font/font 颜色。
例如,在on_entry
方法中,我希望能够改变字体的粗细或颜色。
很高兴提供更多详细信息。
EDIT 1: 澄清一下,我想在创建对象时编辑之前给定的 arguments/attributes 例如编辑 font=self.customfont1
tk.Entry(self, font=self.customfont1).pack()
让我们说 font=self.customfont2
但在实际对象中 class.
您可以调用 self.configure(font=...)
,给它指定您想要的任何字体。