当前位置: 首页 > 面试题库 >

是否可以在Tkinter中获取小部件设置?

商飞龙
2023-03-14
问题内容

如果我能得到类似下面的信息,那将是很棒的。

伪代码:

U = widget1.SettingsGet()
Print U

在打印U时,将返回以下内容:

widget1(background='green',foreground='grey',boarderwidth=10, relief='flat')

能够获得小部件设置将非常有用。这样我就可以相应地操纵其他小部件。


问题答案:

如果知道所需的设置,则可以使用该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>)}


 类似资料:
  • 问题内容: 我正在尝试使用该函数查找窗口的大小,但最终返回的结果 我也曾尝试过,但我不断 码 问题答案: 您试图在渲染窗口之前获取尺寸。 在s之前添加一个,它会显示正确的尺寸。

  • 问题内容: 这样的事情会使小部件正常显示: 虽然这样,将使小部件完全不显示: 问题答案: 您可能对 小部件的和方法感兴趣。在以下示例中,单击后按钮消失

  • 问题内容: 我知道如何通过执行以下操作来为名称已经知道的属性创建getter和setter: 现在,我的问题是,是否可以定义像这样的所有获取方法和设置方法?即,创建getter和setter的任何属性名称 是不是 已经定义。 这个概念可以在PHP中使用和魔术方法(有关这些信息,请参见PHP文档),因此我真的在问是否存在与这些方法等效的JavaScript? 不用说,理想情况下,我想要一个跨浏览器兼

  • 我试图在flutter中创建一个布局,由一行和两个子小部件组成,第一个子部件向左对齐,第二个子部件向右对齐,如果容器太窄,这也将包装小部件。 这类似于这里提出的问题:Flutter将两个项极端地对齐--一个在左边,一个在右边,这可以通过小部件来解决,小部件具有。然而,当小部件使用此方法包装时,包装到新运行的右小部件不再右对齐。(截图) 我希望发生的是,右边的小部件在包装时保持与右边对齐。在使用fl

  • 我尝试设置的ID为Kartik文件输入小部件,但它似乎不会设置它...因为我无法捕获成功上传后的文件加载事件。 view.php catchevent.js

  • 问题内容: 无论如何,是否有一个微调器提示与编辑文本字段所提供的提示类似。我知道您可以使用提示给您一个标题栏,但在单击微调器之前,仍将初始微调器字段留为空白。我目前有一种粗略的方法来将虚拟字段设置为旋转器数组的第一部分,即问题,然后在末尾进行检查以确保旋转器不等于问题字符串。有没有更清洁/更好的方法呢? 谢谢! 问题答案: 这是一个比Ravi Vyas代码简单一些的解决方案(感谢您的启发!):