Tkinter入门
前页 | 第5章. 组件配置 | 后页

# 向后兼容

关键字参数是从Python1.3版之后才出现的,在此之前,选项是以字典形式传递到构建器和`configure`方法里的 它的使用方法大概象下面这个样子:

    self.button = Button(frame, {"text": "QUIT", "fg": "red", "command": frame.quit}) self.button.pack({"side": LEFT})

关键词参数从语法上来说当然是更文雅些,并且不易出错.然而,为了兼容已经存在的代码, Tkinter仍支持这种语法形式.你最好不要在程序里使用这种语法,虽然有时候它很诱人.例如,如果你创建一个定制的组件,它需要指定的一些配置选项要从父类传递进来, 你可以使用下面的方法:

    def __init__(self, master, **kw):
    	Canvas.__init__(self, master, kw) # kw is a dictionary

这段代码在现在来说是工作正常的,不过也许在以后的Python版本里会出现错误. 一个通常的解决办法是使用 `apply` 函数:

    def __init__(self, master, **kw):
    	apply(Canvas.__init__, (self, master), kw)

`apply` 函数可以接受一个调用函数 (在这里是一个未绑定的方法), 一个元组作为参数(它必须包括 `self` ,因为我们调用的是一个未绑定方法), 后面可以提供一个可选的调用函数的关键词参数,它用字典来存贮.

前页 | 首页 | 后页
组件配置 | 向上 | 组件风格