7

djangoモデルで使用されているものと同様のタプルからの「キー」と「値」を含むQComboBoxを使用したいと思います。たとえば、私は人の性別について次のような構造を持っています。

SEX_CHOICES = (('M', 'Male'), ('F', 'Female'))

タプルの最初のアイテムには、データベースに保存されている性別のコードが含まれ、2番目のアイテムには、アイテムとしてQComboBoxに表示するテキストが含まれています。

QComboBoxの値をMに設定すると、男性が表示される方法はありますか。また、ユーザーが要素Maleを選択すると、選択した値をMとして取得できます。

ありがとう

4

1 に答える 1

6

使用する

cb.addItem  ( text, userData )

DBキーをとして渡しますuserData。現在の選択を変更する必要がある場合は、を使用cb.itemData()して各アイテムのDBキーを取得し、必要なものと比較します。

または、Pythonマップにアイテムを追加するときにインデックスを記録し、これを使用して正しいインデックスを直接検索します。

使いやすくするQComboBoxために、現在のDBキーのセッターとゲッターを提供し、マッピングを非表示にするPythonクラスでラップします。

于 2010-04-20T13:21:22.143 に答える