2017-04-12 67 views
0

我有一個QComboBox,這是可編輯的,我實現了keyPressEvent(QKeyEvent *)方法,但它似乎並沒有激發這種方法。如何調用QCombobox的linedit的KeyPressEvent(QKeyEvent *)?

我能想到發生這種情況的唯一原因是,發生任何編輯實際發生在lineEdit對象,我們應該實現線的keyPressEvent(QKeyEvent *)編輯。我怎樣才能做到這一點?

+0

的可能的複製[如何-覆蓋KeyPressEvent爲可編輯QComboBox?](http://stackoverflow.com/questions/3264795/how-to-override-keypressevent-for-an-editable-qcombobox) – m7913d

+0

我已經實現了keyPressEvent方法,並且我沒有任何問題,您可以顯示您嘗試的內容。 – eyllanesc

+0

你究竟想要做什麼?你爲什麼認爲你需要重新實現'keyPressEvent'? –

回答

1

你有兩個選擇:

  1. 安裝在lineEdit微件的事件過濾器。

  2. 使用setLineEdit用您自己的子類替換現有的小部件,該子類重新實現事件處理程序。

+0

我嘗試安裝事件過濾器,但它不工作。 –

+0

這些信息不夠。請展示你的工作。編輯問題以提供一個自包含的'main.cpp'來展示問題。確保它確實是最小的。最多考慮40-50行。以'#include '開始文件,以'#include「main.moc」'結尾。 –