【发布时间】:2022-12-09 14:30:24
【问题描述】:
我刚开始学习 tcl,我使用 python 的 tkinter 解释器可能是相关的。但据我所知,它应该是一样的。
但是,我使用的代码与tcler's wiki 中的代码几乎相同,但从未执行过有界过程。顶层已创建并响应,但移动或调整解析为 $win 的窗口不会触发 <Configure> 事件。它不会因错误而失败,只是永远不会调用该过程。可能是显而易见的事情,但我就是看不到。
namespace eval MyTk {
variable TracedWindows {}
proc StickTo {win w h x y} {
wm geometry $win.sub $wx$h+$x+$y
}
proc TraceWindow {win {value true}} {
set name $win
if {$win == "."} {set name ""}
if {$value && $win ni $MyTk::TracedWindows} {
toplevel $name.sub
bind $win <Configure> {$MyTk::StickTo %W %w %h %X %Y}
}
}
}
更新,以下作品。所以它与我的命名空间或我如何处理它有关:
bind $win <Configure> {bell}
【问题讨论】:
-
试试这个:
bind $win <Configure> [list MyTk::StickTo %W %w %h %X %Y] -
@Mkn 不幸的是它不起作用,我已经用花括号尝试过类似的东西。
标签: tcl tk-toolkit