【发布时间】:2020-11-25 05:24:26
【问题描述】:
label .f -text "Serial Number" -textvariable lbl -font {bold} -background #808080
pack .f
在这里,我想要 Serial 的颜色与 Number 的颜色不同。
该怎么做?
另外,当我这样做时:
set lbl "Stack Overflow is great"
我想要不同颜色的所有单词。
【问题讨论】:
label .f -text "Serial Number" -textvariable lbl -font {bold} -background #808080
pack .f
在这里,我想要 Serial 的颜色与 Number 的颜色不同。
该怎么做?
另外,当我这样做时:
set lbl "Stack Overflow is great"
我想要不同颜色的所有单词。
【问题讨论】:
标签小部件不能单独执行此操作; 设计它非常简单,并且(一次)只使用一种字体和一种颜色。
处理这个问题的常用方法是使用文本小部件(禁用所有滚动)。这可以做更复杂的事情。
text .t
.t insert end "Serial " -tag word1
.t insert end "Number: " -tag word2
.t tag configure word1 -foreground "#660000"
.t tag configure word2 -foreground cyan
缺点是使文本小部件响应变量,如您的第二个示例中那样,需要很多 更多的工作。例如,您需要
trace,这样事情就可以真正响应变量的变化,【讨论】:
您必须首先为每个单词单独创建一个标签,然后将它们水平打包以使所有单词具有不同的颜色。也可以参考这个答案here
【讨论】: