サンプルコード:
package require Tk
menu .mymenu
. configure -menu .mymenu
puts [winfo children .]
Tcl 8.6 を使用すると、次のように出力されます。
.mymenu .#mymenu
.#mymenu
識別子がどこから来たのか混乱しています。
.
明示的に作成されたトップレベル ウィンドウ ( Tk では暗黙的に生成されたウィンドウであるため) でこの同じコードを使用すると、結果が異なることに注意してください。
package require Tk
toplevel .win
menu .win.mymenu
. configure -menu .win.mymenu
puts [winfo children .win]
これは以下を出力します:
.win.mymenu
これは適切な動作のようです。では、最初のサンプル コードで暗黙的に生成されたウィンドウの結果が異なるのはなぜでしょうか?