我正在用 Python 中的 Enaml 设计一个 UI。我有一个自定义控件,其中包含两个按钮。每次单击两个按钮中的任何一个时,一个是 1,另一个是 id-ed 2,我希望父容器能够感知单击了哪个按钮。因此,来自父级的事件处理程序接受一个额外的参数来区分事件的来源。这是我的代码
from enaml.widgets.api import (
Window, Container, PushButton
)
enamldef TwoButtons(Container):
attr cont
PushButton:
text = 'Button1'
clicked :: cont.clicked(1)
PushButton:
text = 'Button2'
clicked :: cont.clicked(2)
enamldef Main(Window):
Container:
attr buttonId
event clicked
TwoButtons:
cont = parent
clicked ::
# A way to read the event handler argument goes here
print "Someone is clicked, don't know who :("
有什么建议么?
感谢你并致以真诚的问候!