2017-10-13 75 views
3

我在Python中很新,所以也许这不是问题,尽管进行了大量搜索,让我空手而归。Python-找出哪些值可以/不可以使用ttk改变。风格

我使用的是ttk.Entry的表格 - 并且希望所有文字居中。在使用style.configure('TEntry', foreground='green', justify=tk.CENTER) - 文本不居中,

而是移动到justify=tk.CENTER部件行ent1 = ttk.Entry(root, textvariable=t, width=20, justify=tk.CENTER),它的工作OK

以类似的方式,在ent=...

指出,当font=('Helvetica', 18)正在影响文本寻找有关的答案时,可以/我不能在ttk.StylePython Documentation使用某些配置值,并在Using and customizing ttk styles离开了我答案。

是否有铅?

+0

你真的* *使用的'style'创建插件? –

+0

@罗兰史密斯是的。例如,文本颜色在配置时确实适用 –

回答

2

请尝试以下操作,注意特别是ttky入口小部件样式有一些不一致之处。我使用的经验法则是:如果ttkentry.configure()返回一个配置选项(如在这种情况下为justify),然后使用ttkentry.configure(justify='center')或任何你想要的有效选项。 Ttk输入字体在相同的类别中。您可以使用ttkentry.configure(font='???')方法在其上设置字体。

因此,在这种情况下,键入ttkentry.configure响应如下:

from tkinter import * 
from tkinter import ttk 
root = Tk() 
ttkentry = ttk.Entry(root) 
ttkentry.insert(0, "my centered text") 
ttkentry.pack() 
ttkentry.configure() 
# Partial output of ttkentry.configure() 
{'foreground': ('foreground', 'textColor', 'TextColor', '', ''),..., 'justify': ('justify', 'justify', 'Justify', <index object: 'left'>, 'left'),...,'validate': ('validate', 'validate', 'Validate', <index object: 'none'>, 'none')} 

# After this command, note that the text is centered. 
ttkentry.configure(justify='center') 
+0

欣赏您的回复。我的问题是关于使用'ttk.Style()'。如果我错了(和新手),请纠正我,但使用'ttkentry.configure()'与'ttkentry = ttk.Entry(root,justify = CENTER)'相同,并且仅适用于特定的小部件,并且在我的情况下,我有多个进入时间表。 –

+1

是的,这就是不一致的问题 - 你不能完全使用样式来设置样式:(......但是你可以使用选项数据库来完成同样的事情'root.option_add('* Entry.Font',例如['Consolas',18])' –

+0

BTW option_add仅适用于无风格(常规tkinter)小部件。 –

相关问题