【发布时间】:2019-12-10 06:47:10
【问题描述】:
我正在尝试在 TCL/TK 中显示一个消息框,它应该被关闭以在父窗口中执行任何操作。当我执行下面的代码时,即使清除了消息框,文本框也会进入“禁用”状态。
wm title . "Message Box Demo"
tk::text .t0
grid .t0 -column 0 -row 1 -columnspan 2
tk_messageBox -type okcancel -message "Press Ok to confirm" \
-title "Update V 3.6" -icon "info"
如果我引入 TopLevel 以在 messageBox 中包含“父”窗口,它会打开一个新窗口作为顶级窗口并允许访问文本框。
wm title . "Message Box Demo"
toplevel .top1
tk::text .t0
grid .t0 -column 0 -row 1 -columnspan 2
tk_messageBox -type okcancel -parent .top1 -message "Press Ok to confirm" \
-title "Update V 3.6" -icon "info"
有人可以帮我找出问题所在吗?
【问题讨论】:
-
无法重新创建。在这两种情况下,tk_messageBox 都会抓取并阻止访问另一个窗口。
-
@BradLanam,也许操作系统应用程序兼容性?我在 Windows 中使用 Komodo。
-
@BradLanam,是的,行为似乎有所不同。但是即使在 Linux 中,第二个代码脚本(带有父命令)也会打开一个空的“top1”窗口。你能告诉我如何避免这种情况吗?
标签: grid tcl tk toplevel tkmessagebox