如何在ttk笔记本中切换标签时设置变量

时间:2016-05-30 05:10:29

标签: tcl tk

我想根据tkk:notebook中的标签切换设置变量值。是否有任何选项可以帮助我实现这一目标?

我想将标志保持为0作为默认选项卡,当用户切换另一个标签时,将其标记为1。

这是我的代码,但没有帮助我:

ttk::notebook .top.d -padding 5
ttk::frame .top.d.f1;
ttk::frame .top.d.f2;
.top.d add .top.d.f2 -text "Tab A" -padding 5
.top.d add .top.d.f1 -text "TAB B" -padding 5
.top.d select .top.d.f1
ttk::notebook::enableTraversal .top.d
if {.top.d select .top.d.f2 } {
    set flag 2
}

由于

1 个答案:

答案 0 :(得分:2)

我觉得您正在尝试获取当前标签的索引,如果是这样,那么您可以使用:

.top.d index current

要在任何时间点获取选项卡的索引(索引为0)。

但是如果你真的想在标签更改时更改变量的值,可以使用虚拟事件<<NotebookTabChanged>>

bind .top.d <<NotebookTabChanged>> {
    if {[.top.d select] == ".top.d.f2"} {set flag 2}
}

以上所有内容都在manual上。