tkinter帧对象的class属性有什么用途?

tkinter帧对象的class属性有什么用途?,class,tkinter,frame,Class,Tkinter,Frame,对该属性的功能/预期用途感到好奇 如上所述 ('class=')绑定 您可以将绑定与小部件类相关联。因此,您可以拥有N个条目小部件并为它们分配相同的类,然后为它们提供所有相同的绑定,而不必在每个小部件上重复绑定 如果要删除所有默认绑定,它也很有用,因为默认绑定属于默认类。如果更改类,它们将不再具有默认行为 更具体地说,小部件的类会自动添加到该小部件的bindtags列表中,而正是bindtags列表赋予了小部件其行为。有关bindtags的简要概述,请参见 小部件属性 在Tkinter中,您可以

对该属性的功能/预期用途感到好奇 如上所述
('class=')

绑定

您可以将绑定与小部件类相关联。因此,您可以拥有N个条目小部件并为它们分配相同的类,然后为它们提供所有相同的绑定,而不必在每个小部件上重复绑定

如果要删除所有默认绑定,它也很有用,因为默认绑定属于默认类。如果更改类,它们将不再具有默认行为

更具体地说,小部件的类会自动添加到该小部件的bindtags列表中,而正是bindtags列表赋予了小部件其行为。有关bindtags的简要概述,请参见

小部件属性

在Tkinter中,您可以使用
option\u add
命令(还有
option\u get
option\u clear
等命令)定义小部件的默认属性。此命令使用从X11世界(unix/linux窗口系统)借用的“选项数据库”。您可以将选项应用于类。例如,您可以定义自己的框架类,并为其提供边框宽度、浮雕和颜色的独特组合。创建新帧时,它们将继承这些属性


当tk主要用于Tcl时,这是非常有用的,并且主要用于unix系统,因为Tcl没有真正的面向对象方法来对小部件进行子类化。有了Tkinter,它就没那么有用了,因为您可以对小部件进行子类化,只需更改构造函数中的属性。

绑定

您可以将绑定与小部件类相关联。因此,您可以拥有N个条目小部件并为它们分配相同的类,然后为它们提供所有相同的绑定,而不必在每个小部件上重复绑定

如果要删除所有默认绑定,它也很有用,因为默认绑定属于默认类。如果更改类,它们将不再具有默认行为

更具体地说,小部件的类会自动添加到该小部件的bindtags列表中,而正是bindtags列表赋予了小部件其行为。有关bindtags的简要概述,请参见

小部件属性

在Tkinter中,您可以使用
option\u add
命令(还有
option\u get
option\u clear
等命令)定义小部件的默认属性。此命令使用从X11世界(unix/linux窗口系统)借用的“选项数据库”。您可以将选项应用于类。例如,您可以定义自己的框架类,并为其提供边框宽度、浮雕和颜色的独特组合。创建新帧时,它们将继承这些属性

当tk主要用于Tcl时,这是非常有用的,并且主要用于unix系统,因为Tcl没有真正的面向对象方法来对小部件进行子类化。有了Tkinter,它就没那么有用了,因为您可以对小部件进行子类化,只需在构造函数中更改属性即可。

下面介绍:

指定窗口类。该类用于查询选项数据库中窗口的其他选项,确定窗口的默认bindtags,并选择小部件的默认布局和样式。这是一个只读选项:只能在创建窗口时指定,不能使用configure widget命令更改

或(第1.2节)中的更多详细信息

请注意,在python中,由于
class
是一个关键字,因此不能编写:

frame = tk.Frame(root, class='Spam')
您需要使用:

frame = tk.Frame(root, cnf={'class': 'Spam'})  # or
frame = tk.Frame(root, **{'class': 'Spam'})
描述如下:

指定窗口类。该类用于查询选项数据库中窗口的其他选项,确定窗口的默认bindtags,并选择小部件的默认布局和样式。这是一个只读选项:只能在创建窗口时指定,不能使用configure widget命令更改

或(第1.2节)中的更多详细信息

请注意,在python中,由于
class
是一个关键字,因此不能编写:

frame = tk.Frame(root, class='Spam')
您需要使用:

frame = tk.Frame(root, cnf={'class': 'Spam'})  # or
frame = tk.Frame(root, **{'class': 'Spam'})

或者您这样做:
frame=frame(root,class='Spam')
或者您这样做:
frame=frame(root,class='Spam')