如果我能得到类似下面的内容,那真是太棒了。
伪代码:
U = widget1.SettingsGet()
Print U
印刷后会返回类似这样的内容:
widget1(background='green',foreground='grey',boarderwidth=10, relief='flat')
能够获得小部件设置真的很有用。这样我就可以相应地操纵其他小部件。
答案 0 :(得分:22)
如果您知道自己需要什么设置,可以使用cget
方法获取值,例如
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
print w.cget('text')
root.mainloop()
会打印
Hello, world!
如果你想知道所有可用的选项,widget.config包含配置,如果你希望你可以创建你可能需要的全部或部分设置,例如。
import pprint
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
pprint.pprint(w.config())
root.mainloop()
输出:
{'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>)}
答案 1 :(得分:4)
要从cget获取窗口小部件的所有属性,可以使用keys()获取属性,然后使用cget获取这些属性的值。 IE:
from tkinter import *
root=Tk()
w=Button(root)
for item in w.keys():
print(item)
print(w.cget(item))
此代码返回:
activebackground
systemButtonFacePressed
activeforeground
systemPushButtonPressedText
anchor
center
background
White
bd
2
bg
White
bitmap
borderwidth
2
command
compound
none
cursor
default
disabled
disabledforeground
#a3a3a3
fg
systemButtonText
font
TkDefaultFont
foreground
systemButtonText
height
0
highlightbackground
White
highlightcolor
systemButtonFrame
highlightthickness
4
image
justify
center
overrelief
padx
12
pady
3
relief
flat
repeatdelay
0
repeatinterval
0
state
normal
takefocus
text
textvariable
underline
-1
width
0
wraplength
0
那是很多空格&gt;。&lt;
在这个块中,第一个是密钥,第二个是所述密钥的值。 keys方法(对于所有小部件)返回所述小部件中的所有键。 Config返回键及其应用的内容(cursor vs Cursor),其中键只列出所有属性。