मुझे लगता है कि मुझे कुछ बहुत ही बुनियादी याद आ रही है लेकिन मैं इस फ़ंक्शन को काम नहीं कर सकता।
मैं Redhat पर npyscreen 4.10.5 के साथ अजगर 3.6.12 चला रहा हूं। मेरी अपेक्षा यह है कि safe_to_exit फ़ंक्शन का उपयोग किसी भी इनपुट को तुरंत सत्यापित करने के लिए किया जा सकता है जब उपयोगकर्ता फ़ील्ड से बाहर निकलता है (टैब कुंजी का उपयोग करके) लेकिन मैं इसे बिल्कुल भी आग नहीं लगा सकता। शायद मैंने इसे पूरी तरह गलत समझा है। यहाँ मेरा परीक्षण कोड है, इसे यथासंभव सरल बनाने के लिए इसे काटें:

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))

किसी भी प्वाइंटर की अत्यधिक सराहना की जाएगी।

0
flyboy 30 जिंदा 2021, 07:17

2 जवाब

सबसे बढ़िया उत्तर

बहुत बाल खींचने के बाद मैंने इसे ठीक किया। वे वाक्यविन्यास है (उपरोक्त कोड नमूने पर लागू):

self.Field1.entry_widget.safe_to_exit = Field1_Validations
0
flyboy 19 फरवरी 2021, 04:39

मैं अभी भी खुदाई कर रहा हूं, लेकिन मुझे पता चला है कि ऐसा लगता है कि safe_to_exit सभी विजेट्स पर लागू नहीं किया गया है। विजेट को "टाइटलटेक्स्ट" से "टेक्स्टफील्ड" में बदलने के परिणामस्वरूप सत्यापन कोड फायरिंग हुई।

0
flyboy 30 जिंदा 2021, 21:49