【发布时间】:2018-02-24 00:18:52
【问题描述】:
【问题讨论】:
【问题讨论】:
如果您增加错误窗口大小,您将不会收到完整的错误消息。消息被故意截断。您可以查看 Tk 库文件夹中的 bgerror.tcl,只是发现错误消息行被截断为 45 个字符。
您可以做的是覆盖::tk::dialog::error::bgerror 过程。而且由于完全重写它太乏味,我建议将其修补如下:
#!/usr/bin/wish
set eproc ::tk::dialog::error::bgerror
auto_load $eproc
proc $eproc [info args $eproc] [string map {45 150} [info body $eproc]]
after idle {
error "Quick brown fox jumped over the lazy dog. Quick brown fox jumped over the lazy dog."
}
此代码将::tk::dialog::error::bgerror 正文中的150 替换为45,并在窗口中显示整个错误消息。如果没有[string map ...],只有大约一半的消息会立即显示(单击Details >> 按钮后,您仍然可以看到所有带有堆栈跟踪的消息)。
【讨论】: