QCombobox использует QAbstractItemView (QListView по умолчанию) для отображения выпадающих элементов (доступных через свойство view()
).
Я не знаю ни одного сигнала для этой цели.
Но вы можете установить eventFilter, который будет работать, используя installEventFilter
в представлении комбинированного списка и реализовать метод eventFilter
:
from PyQt4 import QtCore, QtGui
class ShowEventFilter(QtCore.QObject):
def eventFilter(self, filteredObj, event):
if event.type() == QtCore.QEvent.Show:
print "Popup Showed !"
# do whatever you want
return QtCore.QObject.eventFilter(self, filteredObj, event)
if __name__ == '__main__':
app = QtGui.QApplication([])
cb = QtGui.QComboBox()
cb.addItems(['a', 'b', 'c'])
eventFilter = ShowEventFilter()
cb.view().installEventFilter(eventFilter)
cb.show()
app.exec_()