from tkinter import Tk
from tkinter.ttk import Style, Entry
import tkinter.font as tkfont
root = Tk()
font = tkfont.Font(family='Helvetica', size=30, slant='italic')
style = Style()
style.configure('Custom.TEntry', font=font, foreground='green')
entry_font = Entry(root, font=font, foreground='green')
entry_font.insert(0, 'directly configured')
entry_font.pack()
entry_style = Entry(root, style='Custom.TEntry')
entry_style.insert(0, 'styled entry')
entry_style.pack()
root.mainloop()
第一个条目对字体有响应,而第二个条目没有。有没有办法使用样式来应用字体?
3条答案
按热度按时间elcex8rz1#
来自:http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Entry.html
使用此选项指定将在小部件中显示的文本的字体;请参阅第5.4节"键入字体"。2由于作者不清楚的原因,此选项不能与样式一起指定。
我想我会直接做的
gv8xihay2#
有一些变通办法。
你可以把半直接的
font=style.lookup("Custom.TEntry", "font")
加到你的Entry
上,虽然不漂亮,但是你仍然可以在一个地方拥有风格。您也可以将原始的
Entry
子类化并修复它。rlcwz9us3#
可以,但您可以通过tk方式配置字体: