私はいくつかの複雑なPythonオブジェクトの中から1つを選択するためにGUIをTkinterに書き込もうとしています。それらはデータベースからのレコードを表します。必要に応じて、整数一意のIDを指定してマップからオブジェクトを復元することができます。Tkinterコントロールのオブジェクト:StringVar、IntVar、DoubleVar、BooleanVarを超える方法
リストボックスとOptionMenuウィジェットは、任意のオブジェクトのシーケンスとこれらの任意のオブジェクトから表示する文字列を取得するための関数を受け入れます。それらの変数は、望ましくない変換なしで、それらのオブジェクトの1つを与えます。
代わりに、ウィジェットや、さらに重要なことに、文字列や文字列以外のものは数値や真理値に変換されません。 私は任意のオブジェクトを取得する方法がなく、ID値を含むリストを作成することはできません。なぜなら、わかりやすい文字列表現ではなくidを表示するからです。
テストとして、StringVarを持つOptionMenuにタプルを配置し、それらを文字列に変換しました。
変数からオブジェクトを取得(または取得)したり、ウィジェットの変数に入れられていない文字列をウィジェットに表示するために使用できるエキゾチックなウィジェットや手法はありますか? 私が考えることができる最良のアプローチは、コマンド用に動的に生成されたlambdaでいっぱいのメニューですが、それは醜く潜在的に大きすぎます。
http://effbot.org/tkinterbook/listbox.htmは、それぞれから取得した文字列がユニークな目的であり、
は、このページを読んで、ちょうど インデックスを使用し、それを保存したり、それをルックアップする必要はありませんか? – Brandonこの場合、あまりにも簡単です。 – user412090