微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法在 npyscreen 中使用 safe_to_exit 方法

如何解决我无法在 npyscreen 中使用 safe_to_exit 方法

我想我遗漏了一些非常基本的东西,但我无法使这个功能工作。
我正在使用 npyscreen 4.10.5 在 Redhat 上运行 python 3.6.12。我的期望是 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。