0

2つのQComboBoxを実装し、1つは毎回手動でアイテムを挿入し、もう1つはリストを使用してアイテムを挿入しました(Pythonを使用しています)

しかし、Comboboxの現在の値を取得しようとすると、Noneが返されます。私はこの質問で指定されたとおりに進みました: 私はこれを参照し ました私はコーディングしました。「コマンド」と「オプション」はQComboBoxesです(スタイルが悪いのでご容赦ください)インデックスに間違いはありますか?

    self.command.insertItem(1,'Convert')
    self.command.insertItem(2,'Compose')
    self.command.insertItem(3,'Animate')


    self.option.insertItems(268,list)

と検索:
self.selected_com=self.command.itemData(self.command.currentIndex()) self.selected_opt=self.option.itemData(self.option.currentIndex())

4

2 に答える 2

1

コンボボックスで現在のアイテムを選択していません。現在のアイテムがなく、新しいアイテムを挿入した場合、そのアイテムは現在のアイテムinsertItemとして自動的に選択されません。self.command.setCurrentIndex(1)あなたはおそらく電話したいと思うでしょうself.option.setCurrentIndex(1)

に関するドキュメントからcurrentIndex()

デフォルトでは、空のコンボボックスまたは現在の項目が設定されていないコンボボックスの場合、このプロパティの値は-1になります。

に関するドキュメントからitemData()

コンボボックス内の指定されたインデックス内の指定されたロールのデータを返します。このロールのデータがない場合はQVariant::Invalidを返します。

PyQtのドキュメントから:

QVariantが必要な場合はいつでも、任意のPythonオブジェクトを使用できます。無効なQVariantとして解釈されるものはありません。

于 2010-12-19T17:22:06.743 に答える