tkinter 小部件的 cnf 参数

2024-02-28

所以,我正在研究代码here http://svn.python.org/projects/python/branches/pep-0384/Lib/tkinter/__init__.py在每个班级(几乎)我都看到一个争论cnf={}到构造函数,但除非我错过了它,否则没有明确说明 cnf 包含/期望包含什么。任何人都可以澄清这一点吗?起初我以为它是用于传递给 tkinter 小部件的关键字,但 kw 适合于此。所以我很困惑什么角色cnf={}正在玩..以及extra=()参数。


cnf 必须是将选项名称映射到值的配置字典。它可以通过位置或名称传递(但不能同时通过两者!)。当多个小部件具有一组通用选项时,这非常有用。选项也可以传递(通过关键字),并且单个选项会覆盖字典中的任何选项。我通过 IDLE 运行的实验验证了这些细节。 (如果从命令行运行以下命令,请将“-i”添加到命令行或将 root.mainloop() 添加到代码中。)

import tkinter as tk
root = tk.Tk()
d = {'bg': 'red'}
tk.Label(root, d).pack()
tk.Label(root, d, text='abc').pack()
tk.Label(root, cnf=d, text='abc').pack()
tk.Label(root, d, text='abc', bg='blue').pack()
tk.Label(root, d, cnf=d, text='abc').pack()

结果(垂直堆叠)是一个空白的红色标签、2 个红色“abc”标签、一个蓝色“abc”标签以及 IDLE Shell 中的 TypeError。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tkinter 小部件的 cnf 参数 的相关文章

随机推荐