我的問題是基於來自交互式小部件文檔的this example,它使用IPython.html.widgets.interactive
創建一個用於探索音頻節拍的交互式小部件。這是創建插件的呼叫:在IPython.html.widgets.interactive中識別小部件
v = interactive(beat_freq, f1=(200.0,300.0), f2=(200.0,300.0))
beat_freq
被這樣定義:
def beat_freq(f1=220.0, f2=224.0):
...
我疑惑特別是通過這行代碼:
f1, f2 = v.children
如何做的作者知道子窗口小部件的順序是(f1, f2)
,而不是(f2, f1)
?僅僅是因爲這是他們在創建widget的互動調用中的順序?或者它是否從它們在呼叫簽名中的順序派生到beat_freq?如果我在v
創建之後添加並刪除了小部件,會發生什麼情況?
說實話,我並不真正關心這些問題的答案。我只想要一種方法來識別與每個變量相對應的小部件。我認爲必須有一種方法可以通過檢查ContainerWidget
v
來了解這一點,而不必知道它是如何創建的。畢竟,v
本身顯然知道,因爲v.kwargs
是一個將變量名連接到值的字典,並且如果您操作該小部件,則會進行相應更改。不幸的是,這個模塊中的文檔很少或根本不存在,而且我也無法爲自己解決這個問題。