class WSmileyWidget(QtGui.QWidget): smileyClicked = QtCore.pyqtSignal(str) def __init__(self, smiley, parent=None): super(WSmileyWidget, self).__init__(parent) self._smiley = smiley self.smileyLabel = WImageLabel(self) self.smileyLabel.setToolTip(smiley.name) self.smileyLabel.setImageFile(smiley.path, False) # HACK: Start and stop animation to let Qt Layout calculate # the size of them correctly. self.smileyLabel.start() self.smileyLabel.stop() self.smileyLabel.clicked.connect(self._smileyClicked) def _smileyClicked(self): self.smileyClicked.emit(self._smiley.name)