以编程方式单击 ipyvuetify 按钮(第 2 部分):为什么 .fire_event('click', None) 不起作用

clicking an ipyvuetify button programmatically (part 2): Why .fire_event('click', None) does not work

我想知道为什么这个问题的其中一个答案不起作用。

有用户说: 查看 v.Btn class 的描述,我发现了这个:

| ---------------------------------------------- ---------------------- |从 ipyvue.VueWidget.Events 继承的方法: |
| fire_event(自身、事件、数据) |
| on_event(self, event_and_modifiers, 回调, remove=False) 然后我假设

b.fire_event('click', None)

应该做的事

但事实并非如此。 做的时候

import ipyvuetify as v
b = v.Btn(children=['this btn'])
help(b)

确实 fire_event(self, event, data) 存在,但它不是这样调用的:

b.fire_event('click', None)

错误: 99 def fire_event(自身、事件、数据): --> 100 self._event_handlers_map[事件](自身、事件、数据)

KeyError: 'click'

如何使用按钮的这个功能?

谢谢

您需要定义要调用的事件函数。

def function_to_print_hello( widget, event, data):
    print('hello')
    
b = v.Btn(children=['this btn'])
b.on_event('click', function_to_print_hello)
b

b.fire_event('click', None)