是否可以在Tkinter中获得小部件设置? [英] Is it possible to get widget settings in Tkinter?
问题描述
如果我能得到像下面这样的东西,这将是非常棒的。
It'd be awesome if I could get something like the below.
伪代码:
Pseudo Code:
U = widget1.SettingsGet()
Print U
在打印时,你会返回这样的东西:
Upon printing U something like this would be returned:
widget1(background='green',foreground='grey',boarderwidth=10, relief='flat')
能够获得小部件设置。以便我可以相应地操纵其他小部件。
It would be really useful to be able to get a widgets settings. So that I can manipulate other widgets accordingly.
推荐答案
为什么您需要在单个字典中一次设置所有设置,无论如何,您必须从该设置访问特定设置字典,所以只需使用 cget
方法来获取值,例如
Why you need all the setting at once in a single dictionary, anyway you will have to access a specific setting from that settings dictionary, so instead just use cget
method to get values e.g.
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
print w.cget('text')
root.mainloop()
它会打印
Hello, world!
如果你想知道所有可用的选项,widget.config包含配置,如果你希望你可以创建你可能需要的全部或部分设置例如
If you want to know all the available options, widget.config contains the config and from that if you wish you can create all or a subset of settings which you may need e.g.
import pprint
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
pprint.pprint(w.config())
root.mainloop()
输出:
Output:
{'activebackground': ('activebackground',
'activeBackground',
'Foreground',
<border object at 00C665D0>,
'SystemButtonFace'),
'activeforeground': ('activeforeground',
'activeForeground',
'Background',
<color object at 00C66C48>,
'SystemButtonText'),
'anchor': ('anchor',
'anchor',
'Anchor',
<index object at 00C66588>,
'center'),
'background': ('background',
'background',
'Background',
<border object at 0119A3E0>,
'SystemButtonFace'),
'bd': ('bd', '-borderwidth'),
'bg': ('bg', '-background'),
'bitmap': ('bitmap', 'bitmap', 'Bitmap', '', ''),
'borderwidth': ('borderwidth',
'borderWidth',
'BorderWidth',
<pixel object at 0119A0F8>,
<pixel object at 0119A0F8>),
'compound': ('compound',
'compound',
'Compound',
<index object at 011A90D8>,
'none'),
'cursor': ('cursor', 'cursor', 'Cursor', '', ''),
'disabledforeground': ('disabledforeground',
'disabledForeground',
'DisabledForeground',
<color object at 011A5DB0>,
'SystemDisabledText'),
'fg': ('fg', '-foreground'),
'font': ('font',
'font',
'Font',
<font object at 011A5E40>,
(('MS', 'Sans', 'Serif'), '8')),
'foreground': ('foreground',
'foreground',
'Foreground',
<color object at 011A5F48>,
'SystemButtonText'),
'height': ('height', 'height', 'Height', 0, 0),
'highlightbackground': ('highlightbackground',
'highlightBackground',
'HighlightBackground',
<border object at 011A5EE8>,
'SystemButtonFace'),
'highlightcolor': ('highlightcolor',
'highlightColor',
'HighlightColor',
<color object at 011A5F78>,
'SystemWindowFrame'),
'highlightthickness': ('highlightthickness',
'highlightThickness',
'HighlightThickness',
<pixel object at 011A5FA8>,
<pixel object at 011A5FA8>),
'image': ('image', 'image', 'Image', '', ''),
'justify': ('justify',
'justify',
'Justify',
<index object at 011A5F30>,
'center'),
'padx': ('padx',
'padX',
'Pad',
<pixel object at 011A5FC0>,
<pixel object at 011A5FC0>),
'pady': ('pady',
'padY',
'Pad',
<pixel object at 011A5FD8>,
<pixel object at 011A5FD8>),
'relief': ('relief', 'relief', 'Relief', <index object at 011A5FF0>, 'flat'),
'state': ('state', 'state', 'State', <index object at 011A5EA0>, 'normal'),
'takefocus': ('takefocus', 'takeFocus', 'TakeFocus', '0', '0'),
'text': ('text', 'text', 'Text', '', ('Hello,', 'world!')),
'textvariable': ('textvariable', 'textVariable', 'Variable', '', ''),
'underline': ('underline', 'underline', 'Underline', -1, -1),
'width': ('width', 'width', 'Width', 0, 0),
'wraplength': ('wraplength',
'wrapLength',
'WrapLength',
<pixel object at 00C50908>,
<pixel object at 00C50908>)}
这篇关于是否可以在Tkinter中获得小部件设置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!