2

QComboboxウィジェットの左側にアイコンを設定したい。最初にアイテムを挿入し、次に挿入されたアイテムのアイコンを設定してから、この新しく挿入されたアイテムを選択できることを知っています。ただし、特別な理由により、ドロップダウンリストに新しいアイテムを挿入せずにそれを実行したいと思います。WindowsのComboBoxコントロールでは、-1のインデックスを使用して編集ボックスのアイコンを変更できます。QComboboxでそれを実現する方法がわかりません。

コメントありがとうございます!

4

1 に答える 1

1

自分で試したことはありませんが、ここにアイデアがあります。

QComboBox は Qt のモデル/ビュー フレームワークに基づいているため、項目はでアクセスできるQStandardItemModelQComboBox::model()に含まれています。

手順は次のとおりです。

  • インスタンス化するQStandardItem
  • QStandardItemsetIcon()で andsetText()を使用する (または適切な ctor を使用する)
  • アイテムをコンボ リストに追加する場合は、モデルを介して追加します。

例:

QStandardItem* item = new QStandardItem(theIcon, theText);
[...]
QStandardItemModel* comboModel = qobject_cast<QStandardItemModel*>(theCombo->model());
comboModel->appendRow(item);
于 2012-03-08T09:50:00.217 に答える