1

对此处提到的此属性的功能/预期用途感到好奇 ('class=')

4

2 回答 2

4

绑定

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

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

更具体地说,小部件的类会自动添加到该小部件的绑定标签列表中,并且是绑定标签列表赋予小部件其行为。对于绑定标签的简要概述,您可以查看我对“关于 tkinter 中的绑定标签的基本查询”问题的回答

小部件属性

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

当 tk 主要用于 Tcl 并且主要用于 unix 系统时,这非常有用,因为 tcl 没有真正的面向对象的子类化小部件的方式。使用 Tkinter,它的用处会有所降低,因为您可以子类化小部件并简单地更改构造函数中的属性。

于 2013-07-02T19:22:41.790 回答
3

它在这里描述:

指定窗口类。该类用于查询选项数据库以获取窗口的其他选项、​​确定窗口的默认绑定标签以及选择窗口小部件的默认布局和样式。这是一个只读选项:它只能在创建窗口时指定,并且不能用 configure widget 命令更改。

或者在本教程(第 1.2 节)中有更详细的说明。

请注意,在 python 中,asclass是关键字,不能这样写:

frame = tk.Frame(root, class='Spam')

你需要使用:

frame = tk.Frame(root, cnf={'class': 'Spam'})  # or
frame = tk.Frame(root, **{'class': 'Spam'})
于 2013-07-02T19:23:29.123 回答