【问题标题】:How to set error message window size?如何设置错误消息窗口大小?
【发布时间】:2018-02-24 00:18:52
【问题描述】:

如何在弹出的错误窗口中显示完整的消息?样品:

error "convergency_check_start should be larger than 3."

【问题讨论】:

    标签: tcl tk


    【解决方案1】:

    如果您增加错误窗口大小,您将不会收到完整的错误消息。消息被故意截断。您可以查看 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 >> 按钮后,您仍然可以看到所有带有堆栈跟踪的消息)。

    【讨论】:

    • 这真的很有帮助。非常感谢!
    • 但是请注意,没有什么比错误对话框更令人沮丧的了,它的宽度如此之大,以至于它的边缘超出了屏幕。此外,为您的应用程序使用自定义对话框没有任何问题;默认值必须处理如此多不同的用例,以至于它对其中任何一个都不是理想的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2014-07-20
    • 2010-09-10
    • 2022-06-18
    • 2013-10-05
    • 1970-01-01
    相关资源
    最近更新 更多