私は TKinter を使用していますが、本当に奇妙な状況にあります。
私は基本的に、Listbox、2 つの Button、および Entry を持つ小さなアプリケーションを作成しました。2 つのボタンは、それぞれリストボックスの項目を追加および削除し、エントリは追加された項目の名前を指定します。これはすべてフレームにカプセル化されています。
この Frame の右側はほぼ同じものですが、この Frame の Listbox には左側のものを親とする項目が含まれています。基本的に、「リスト」または「カテゴリ」は最初のリストボックスで作成され、次に項目が 2 番目のリストボックスでそれらのリストに追加されます。
TL;DR:視覚化を容易にするために、使用中のアプリケーションの 3 つのスクリーンショットを次に示します。
私のアプリケーションでは、同じ名前のカテゴリが 2 つ存在することはありません。同じ名前のカテゴリが 2 つある場合は、tkMessagebox.showerror(...) が呼び出されます。これは正しく機能し、プログラムは引き続き正しく機能しますが、エントリ フィールドのいずれかを強調表示または変更することはできません。
最初は、何らかの理由で DISABLED または readonly に設定されていると思っていましたが、プログラムのボタンがまだ機能しているためではないことはわかっており、[カテゴリの追加] を押すと、そのエントリ フィールドの内容がカテゴリ リストに表示され、エントリ フィールドから削除されます。DISABLED または readonly に設定されている場合、コード (.delete(...) および .insert(...) 呼び出しは機能しません) を介しても、入力フィールドは変更できませんが、アプリケーションは明らかにこれらの呼び出しを使用できます。
さらに、入力フィールドの上にマウスを移動すると、カーソルが「読み取りカーソル」に切り替わります (このテキストの上にマウスを移動したときのように)。クリック、クリック アンド ドラッグ、または入力しようとしても、何も起こりません。入力フィールドが完全にフォーカスを失ったかのようです。