fonts - 如何使用组合框项目 tcl tk

标签 fonts combobox label tcl tk-toolkit

我必须使用组合框代码更改标签文本的字体。 这是我的组合框:

variable varLabel3 
variable varCombobox1 [list Normal Italic Bold ]

ttk::combobox $base.combobox#1 \
    -values $varCombobox1
set c [.combobox#1 get]

例如,如果我选择Italic,标签中的文本(我的程序中的.label#1)就会倾斜。我怎样才能做到这一点?

最佳答案

ttk::combobox发送 <<ComboboxSelected>> 当虚拟事件的值发生变化时,您可以使用组合框的 get方法来找出选择的内容,然后采取行动来配置您在标签中使用的命名字体。根本不需要太多代码。

font create myFont -family Times -size 42 -weight normal -slant roman
pack [label .l -text "Sample Text" -font myFont]

set values [list Normal Italic Bold ]
pack [ttk::combobox .combo -values $values]
bind .combo <<ComboboxSelected>> {
    switch [%W get] {
        "Normal" { font configure myFont -weight normal -slant roman }
        "Italic" { font configure myFont -weight normal -slant italic }
        "Bold"   { font configure myFont -weight bold   -slant roman }
    }
}

您可能还想设置组合框的初始值并使其不能直接作为文本进行编辑:

.combo set [lindex $values 0]
.combo configure -state readonly

其他一切都只是围绕事物的命名方式发生变化。

关于fonts - 如何使用组合框项目 tcl tk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26945779/

相关文章:

html - 加载本地文件时阻止跨源请求

JAVA 或我的 IDE 的限制或 SQL 问题?

python - 从 Django 的 TextArea 小部件中删除标签

d3.js - 不显示负号 d3 Axis 标签

java - Swing GUI 在数据处理期间不会更新

html - 保持子元素的字体大小不受根元素字体大小的影响

html - 谷歌浏览器无法正确呈现字体

react-native - 在 React Native V 60+ 中渲染 Open-sans 字体时出现问题

c# - C# 中的右对齐组合框

javascript - 如何从 dijit/form/select 中删除所有选项?