Проблема в том, чтобы в случае неудачного поиска открыть popup окно combobox. Неудачным считается поиск, при котором в combobox не нашлось items соответствующих введенным пользователем символам.
Первое, что приходит в голову - переопределить keyPressEvent примерно как:
void MyCombo::keyPressEvent(..)
{
int oldIndex = currentIndex();
QComboBox::keyPressEvent(..);
if (oldIndex == currentIndex())
showPopup();
}
Но это будет работать только в том случае, если QComboBox::keyPressEvent(..); действительно поменяет индекс.