2016-12-09 41 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沒問題!如果您可以接受答案,則讓其他人知道您解決了您遇到的問題。謝謝 –