在Tkinter中,有一种方法可以从其从属的小部件中获取geometrymanager信息

时间:2019-06-03 10:12:35

标签: python-3.x tkinter

我想从小部件中获取几何图形管理器和选项 例如:

f=Frame(root)
f.place(x=100,y=100,height=100,width=100)

我想获取geometrymanager(在此示例中放置)及其选项(x,y,height,width),以便我可以在另一个父级中重新实现小部件。

2 个答案:

答案 0 :(得分:1)

每个小部件都有一个名为winfo_manager的方法,该方法将返回控制它的几何管理器的名称:

f.winfo_manager()

在您的情况下,它将返回字符串"place"

每个小部件还具有一种用于获取几何管理器参数的方法。对于place,它是place_info。这将返回一个字典,其中包含该小部件使用的所有选项:

f.place_info()

在您的情况下,它将返回看起来像这样的字典:

{   
    'anchor': 'nw',
    'bordermode': 'inside',
    'height': '100',
    'in': <tkinter.Tk object .>,
    'relheight': '',
    'relwidth': '',
    'relx': '0',
    'rely': '0',
    'width': '100',
    'x': '100',
    'y': '100'
}

答案 1 :(得分:0)

您可以使用

f.winfo_geometry()

来自文档:

  

以“ widthxheight + X + Y”的形式返回此小部件的几何字符串。

或合并f.winfo_width()f.winfo_height()f.winfo_x()f.winfo_y()呼叫。