Python tkinterのComboboxを連動させたい!

前提

Pythonのtkinterを使用してComboboxを2つ作成しました。
1つ目のComboboxで選択された内容に従って、2つ目のComboboxに設定されている値を変更したいというのが今回のお題です。

サンプルソース

このサンプルプログラムでは、「Select 1」のコンボボックスを選択しても「Select 2」の値は変化しません。

bindの中で指定しているcb2.set()がファンクションとして処理されていないようです。

結果

以下の様に変更しました。

この部分を以下の様に変更しました。

cb1.bindで指定しているcb2.set()をlambdaで無名関数とすることで、関数として処理されます。

cb2.baind側のprint()は処理されているのですが、敢えて同様にlambdaで無名関数とすることで、プログラムソースの統一をしていますが、敢えて変更しなくても動作します。

関数を指定するところでは、明確にdefで関数を作るか、lambdaで無名関数として定義することが望ましいということの様です。

引っ掛かったので記録として残しておきます。