私はこの辞書を持っています:
statuses = {
'pending' : {'status_for':'all', 'position':1},
'cancelled' : {'status_for':'all','position':2},
'approved' : {'status_for':'owner', 'position':1},
'rejected - owner' : {'status_for':'owner', 'position':2},
'accepted' : {'status_for':'dev', 'position':1},
'rejected - developer' : {'status_for':'dev', 'position':3},
'closed' : {'status_for':'dev', 'position':5},
}
status_for
また、いずれかの値または次のような値をowner
すべてプルしてdev
PyQtQComboBoxに入れる関数もあります。
for s in statuses:
if statuses[s]['status_for'] == "dev" or statuses[s]['status_for'] == "all":
cb_developer_status.addItem(s.capitalize(), s)
でも値順に並べたいのposition
ですが。これを行うための良い方法は何ですか?コンボボックスでデータを入力するときに、事前定義された順序でそれを取得できますか?
上記のスニペットは「dev」と「all」の両方をチェックしていることに気付きました。今のところ、辞書を2回ループして、2つの別々のブロックを希望の順序で取得する必要があると想定しています(つまり、「all」 'dev'の前に表示されます)。
この投稿を見ましたが、この答えを辞書の辞書に変換する方法がわかりません。