0
複数のアイテムを選択できるように、コンボボックスの項目をチェック可能にする必要があります。私はstackoverflowのいくつかのソリューションを見てきました。私は自分のコードにそれを適用しました。それは何かしましたが、チェックボックスはまだ表示されていないので、まだ項目を選択することはできません。私は、その後、チェックボックスのためにQItemDelegateのサブクラスを作成するコンボボックスのアイテムデリゲートにそのを差し込むことによって、この作業を取得することができましたComboBox内にCheckBoxが表示されない
from PySide.QtGui import *
from PySide.QtCore import *
udims = [here goes some items]
cmb = QComboBox()
model = QStandardItemModel(len(udims), 1)
for i, udim in enumerate(udims):
item = QStandardItem(udim)
item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
item.setData(Qt.Checked | Qt.CheckStateRole)
model.setItem(i, 0, item)
cmb.setModel(model)
このサンプルコードは[MCVE](http://stackoverflow.com/help/mcve)ではありません。これは、(udims = ["here"、 "goes"、 "some"、 "items"] 'などの)udimsの割り当てを修正してください。 'model = QStandardItemModel(len(udims)、1)'); 'model = QStandardItemModel(len(items)、1)'を修正します。 'item = QStandarItem(udim)'(typo)を修正してください。 'QApplication()'のインスタンスを追加してください。私はPyQt5でこれを(ローカルで)実行し、実行させました。 Btw。 PyQt5の「ポート」にチェックボックスが表示されませんでした。 – Scheff
私が(cygwin、python3、PyQt5)私の側でも見たことがあるあなたが記述する動作(チェックボックスなし、ホバー選択なし)。 [SO:CheckBoxのコンボボックス?](https://stackoverflow.com/a/20118475/7478597)をご覧ください。おそらく、それらを表示させるためにアイテムデリゲートトリックを使用する必要があります。 Btw。 'item.setData(Qt.Checked | Qt.CheckStateRole)'に別のタイプミスがあると思います: 'item.setData(Qt.Checked、Qt.CheckStateRole)'(つまり** '、' ** ** '|' **)の代わりに? – Scheff
ItemDelegateトリックが私の問題を解決しました。 – Vicspidy