मैं एक ड्रॉपडाउन विजेट बनाया:आईपीथन विजेट में, ड्रॉपडाउन विजेट को नए मान के साथ कैसे अपडेट करें?
self.foo_widget = widgets.Dropdown(description='Lorem ipsum', width=100)
self.foo_widget.options = ['Default', 'A', 'B', 'C', 'D']
और मैं on_trait_change
घटना पर कब्जा: हैंडलर समारोह handler
में अब
self.foo_widget.on_trait_change(self.handler, 'value')
, मैं लटकती मूल्य 'Default'
वापस करने के लिए सेट करना चाहते हैं। लेकिन निम्न कोड केवल विजेट डिस्प्ले को अपडेट किए बिना मान बदलता है। ड्रॉपडाउन अभी भी मूल चयन मान (उदा।, 'सी') दिखाता है भले ही print self.foo_widget.value
'डिफ़ॉल्ट' दिखाता है।
self.foo_widget.value = 'Default'
क्या यह आईपीथन विजेट का एक बग है? दृश्य के अपडेट का सही तरीका क्या है?
वास्तव में, सूची विजेट्स के लिए, ऐसा लगता है कि मुझे विकल्पों को साफ़ करना होगा और विजेट्स के प्रदर्शन को अपडेट करने के लिए विकल्पों को फिर से असाइन करना होगा। किसी के पास समान अनुभव है?
अद्यतन:nluigi द्वारा जवाब नीचे महान काम करता है। जैसा कि निम्नलिखित उदाहरण में दिखाया गया है।
class test(object):
def __init__(self):
self.foo_widget = widgets.Dropdown(description='Lorem ipsum', width=100)
self.foo_widget.options = ['Default', 'A', 'B', 'C', 'D']
self.foo_widget.on_trait_change(self.handler, 'value')
display(self.foo_widget)
def handler(self, name, old, new):
print(self.foo_widget.value)
print(self.foo_widget.selected_label)
self.foo_widget.value = 'Default'
self.foo_widget.selected_label = 'Default'
धन्यवाद nluigi। यह बहुत अच्छा काम करता है! –