2017-10-13 158 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)小部件。 –

相關問題