diff options
Diffstat (limited to 'misc.py')
-rw-r--r-- | misc.py | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -20,9 +20,27 @@ def unique(seq): return t(c for c in seq if not (c in seen or seen.append(c))) class Button(QtGui.QPushButton): + iconSize=32 """A simple Button class which calls $onClick when clicked.""" - def __init__(self, caption, onClick=None, parent=None): - QtGui.QPushButton.__init__(self, caption, parent) + def __init__(self, caption, onClick=None, iconPath=None, iconOnly=False, parent=None): + QtGui.QPushButton.__init__(self, parent) if onClick: self.connect(self, QtCore.SIGNAL('clicked(bool)'), onClick) + if iconPath: + self.changeIcon(iconPath) + + if not(iconPath and iconOnly): + QtGui.QPushButton.setText(self, caption) + + self.setToolTip(caption) + + def setText(self, caption): + self.setToolTip(caption) + if self.icon()==None: + self.setText(caption) + + def changeIcon(self, iconPath): + icon=QtGui.QIcon() + icon.addFile(iconPath, QtCore.QSize(self.iconSize, self.iconSize)) + self.setIcon(icon) |