You can use a eventfilter to catch the mousepress event.
Minimal example:
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.combo = QtGui.QComboBox(self)
self.combo.installEventFilter(self)
self.show()
def eventFilter(self,target,event):
if target == self.combo and event.type() == QtCore.QEvent.MouseButtonPress:
print "Button press"
self.fillComboBox()
return False
def fillComboBox(self):
self.combo.addItem('foo')
self.combo.addItem('bar')