我无法在 npyscreen 中使用 safe_to_exit 方法

I cannot make safe_to_exit method in npyscreen work

我想我遗漏了一些非常基本的东西,但我无法使这个功能发挥作用。
我是 运行 python 3.6.12 on Redhat with npyscreen 4.10.5。我的期望是 safe_to_exit 函数可用于在用户退出该字段(使用 tab 键)时立即验证任何输入,但我根本无法触发它。可能我完全误解了这一点。这是我的测试代码,经过精简以使其尽可能简单:

import npyscreen

def test1(*args):
    F = npyscreen.Form(name='My Test Application')
    Field1 = F.add(npyscreen.TitleText, name="My Test Field")
    Field1.safe_to_exit = Field1_Validations
    F.edit()
    return Field1.value

def Field1_Validations():
    npyscreen.notify_confirm("Safe to exit")
    return True


if __name__ == '__main__':
    onefield = npyscreen.wrapper_basic(test1)
    print("Results are : {} ".format(onefield))

任何指点将不胜感激。

我仍在挖掘,但我发现 safe_to_exit 似乎并未在所有小部件上实现。将小部件从“TitleText”更改为“Textfield”会触发验证代码。

经过多次努力,我终于解决了。它们的语法是(适用于上面的代码示例):

self.Field1.entry_widget.safe_to_exit = Field1_Validations