2016-12-09 10 views
0

私はQComboBoxに値のリストを持っています。ドロップダウンの矢印がクリックされると、リストを更新して選択するためにユーザーに表示する必要があります。これをどのように実装できますか?ドロップダウンの矢印をクリックしたときにどの信号を捕捉する必要がありますか?QComboBoxの実装

+0

ユーザーが矢印ボタンをクリックする前にリストを更新する必要があります。 – has

+0

しかし、ユーザーがクリックするとリストを更新する必要があります。出来ますか? – Aham

答えて

0

は、私は完全にあなたが何をしたいのかを理解し、しかしには、メソッドオーバーライドする必要がリスト表示する前に何かをしない:

void showPopup(); 

をしかし、私はあなたに警告しなければなりません。通常、それはあなたが望むものではありません。 QComboBoxをクリックすると、ビューと表示されます。 QComboBoxをクリックすると実際に何が起こるのかは、フレームワークがウィジェットとそれに含まれるアイテムを描画することです。 アイテムの表現を変更する(テキストの色を変更する、背景のテキストを変更するなど)場合は、QItemDelegateから継承し、ペイントメソッドを再実装する必要があります。

代わりに選択したテキストを変更する場合は、QComboBoxから継承し、paintEventを再実装する必要があります。

これを行う方法の例は、QComboBox elided text on selected itemです。

+0

ありがとう@ andrea.marangoni。私はshowPopup()をオーバーライドして解決策を進めました。 – Aham

+0

@Aham問題ありません!あなたがその答えを親切に受け入れることができれば、あなたはあなたが持っていた問題を解決したことを他人に伝えます。ありがとうございました –