如何设置错误信息 window 大小?
How to set error message window size?
如何在弹窗错误中显示完整信息window?示例:
error "convergency_check_start should be larger than 3."
如果您增加错误 window 大小,您将不会收到完整的错误消息。消息被故意截断。您可以查看 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
正文中的 45
替换为 150
,并在 window 中显示了整个错误消息。如果没有 [string map ...]
,则只会立即显示大约一半的消息(单击 Details >>
按钮后,您仍然可以通过堆栈跟踪看到所有消息)。
如何在弹窗错误中显示完整信息window?示例:
error "convergency_check_start should be larger than 3."
如果您增加错误 window 大小,您将不会收到完整的错误消息。消息被故意截断。您可以查看 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
正文中的 45
替换为 150
,并在 window 中显示了整个错误消息。如果没有 [string map ...]
,则只会立即显示大约一半的消息(单击 Details >>
按钮后,您仍然可以通过堆栈跟踪看到所有消息)。