I'm implementing a custom QComboBox in which I want to advance the item selection each time it is clicked, as the users will have difficult input devices so they requested a minimum of mouse movement. The reason I am not using, say, a spin box is because they want the list to stay up while they are selecting. I can advance the selection on click easily enough, but the problem is it seems like no matter what I do I can't affect the behavior of the menu list that pops up, i.e., it appears/hides on each click even if I reimplement the list view's mouseClicked() functions.

Does anyone have any ideas for a combo box that displays the menu when clicked, and then advances the selection with each click while keeping the menu open, and then the menu is only closed when, say, the mouse is moved off the combobox?

Again, reimplementing the mouseClicked functions for both the combobox and the list view that it uses for the menu doesn't seem to do anything to the menu behavior.