IPython でウィジェットを使用しています。これにより、ユーザーはフレーズを繰り返し検索し、別のウィジェット (選択ウィジェット) で結果 (異なるタイトル) を表示してから、結果の 1 つを選択できます。
要するに:
search_text = widgets.Text(description = 'Search')
search_result = widgets.Select(description = 'Select table')
def search_action(sender):
phrase = search_text.value
df = search(phrase) # A function that returns the results in a pandas df
titles = df['title'].tolist()
search_result.options = titles
search_text.on_submit(search_action)
これは以前は正常に機能していましたが、ipywidgets の最新バージョン (4.0.1 から 5.1.3) に更新した後は、次のようになります。
search_selection.options = titles
次のエラーを生成します (1 つまたは両方、状況によって異なります)。
TraitError: Invalid selection
TypeError: 'list' object is not callable
他のウィジェットからの検索に基づいた結果でウィジェットが更新されるという意味では引き続き機能しますが、エラーが発生します。
別のウィジェットからの結果に基づいて、あるウィジェットでオプションを設定する正しい方法は何ですか?
(編集:より詳細なエラーメッセージを追加)