0

アイテム1、アイテム2、アイテム3の3つのアイテムがあるコンボボックスがあります。これらの3つのアイテムを.uiファイルに追加し、リソースファイルを使用してすべての画像を追加しました。これで、アプリケーションを実行すると、コンボボックスの最初のアイテムが左側の画像とともに表示されます。ドロップダウンをクリックすると、すべてのアイテムと画像が表示されます。

基本的にやりたいのは、コンボボックスに画像を表示することです。ユーザーがドロップダウンをクリックすると、画像とテキストも表示されます。

シナリオ:コンボボックス内のアイテムと画像は次のように追加されます。

Image 1 Item 1
Image 2 Item 2
Image 3 Item 3

アプリを実行すると、コンボボックスに次のように表示されます。

Image1

デフォルトでは最初のアイテムが表示されるため。現在の選択範囲をペイントするときに実行できると思います。QComboboxは再埋め込みを使用します。void MyCombo::paintEvent(QPaintEvent *e)これは私が気付いていないことです。

誰かがこれで私を助けることができますか?:)

どうすればそれを達成できますか?

4

1 に答える 1

0

QComboBox を継承し、void QComboBox::showPopup () [virtual]
PS を再実装する必要があります。この関数を再実装してカスタム ポップアップを表示する場合は、必ず hidePopup() を呼び出して内部状態をリセットしてください。
私が持っている2番目のアイデアは、コンボボックスのモデルを実装することですが、ポップアップ要素のルールがあるかどうかはわかりません。

于 2012-12-18T11:27:05.730 に答える