tk_setPalette(3tk) Tk Built-In Commands tk_setPalette(3tk)

tk_setPalette, tk_bisque - 修改 Tk 颜色调色板

tk_setPalette background

tk_setPalette name value ?name value ...?

tk_bisque

tk_setPalette 过程改变 Tk 的颜色方案。它通过修改现存组件的颜色和修改选项数据库来做这个工作,这样将来的组件将使用新颜色方案。如果用一个单一参数调用 tk_setPalette,则这个参数是用做普通背景色的一个颜色的名字;tk_setPalette 将从这个背景色计算出一个完整的颜色调色板。作为另一个选择,给 tk_setPalette 的参数可以由任意数目的名字-值对组成,对中的第一个参数是在 Tk 选项数据库中的一个选项的名字,而第二个参数是用于这个选项的新值。当前数据库支持下列名字:
activeBackground	foreground	selectColor
activeForeground	highlightBackground	selectBackground
background	highlightColor	selectForeground
disabledForeground	insertBackground	troughColor

tk_setPalette 尝试为你没有指定的所有选项计算合理的缺省。你可以指定上述之外的选项而 Tk 同样在组件上的这些选项。这个特征对使用了额外的颜色选项的定制组件可能有用。

一旦为每个颜色选项计算了新值,tk_setPalette 检索组件层次来修改所有现存组件的选项。对于每个组件,它检查这个组件是否定义了上述选项。如果是这样,并且如果这个选项的当前值是缺省的,则改变这个值;如果这个选项有一个不是缺省的值,tk_setPalette 将不改变它。如果以前未运行 tk_setPalette,则缺省值由组件来选项提供([lindex [$w configure $option] 3]),否则它是在前面的 tk_setPalette 调用中指定的值。

在修改了在应用中的所有组件之后,tk_setPalette 向选项数据库增加选项来改变将来建立的组件的缺省值。增加的新选项在优先级 widgetDefault 上,所以将被来自 .Xdefaults 文件的选项或在建立一个组件的命令行上指定的选项所屏弃。

为向后兼容而提供了 tk_bisque: 它把应用的颜色恢复为 Tk 3.6 和以前版本中的浅黄(“bisque”)色方案。

bisque, color, palette

寒蝉退士

2002/05/16

http://cmpp.linuxforum.net

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
4.0 Tk