aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-12-21 08:45:39 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-12-21 08:45:39 -0300
commit2f08ad954cca70ff7388240321d34e0162d1f3eb (patch)
treea69b474ef9a63e546f24044e2f594b8843691764 /examples
parent320b49b221ae2881c2aa4ca962ce0e2faa7e41c2 (diff)
counterlabel example updated.
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/designer/plugins/widgets/counterlabel.py84
1 files changed, 42 insertions, 42 deletions
diff --git a/examples/designer/plugins/widgets/counterlabel.py b/examples/designer/plugins/widgets/counterlabel.py
index 4d424d4..4a19f8e 100755
--- a/examples/designer/plugins/widgets/counterlabel.py
+++ b/examples/designer/plugins/widgets/counterlabel.py
@@ -29,21 +29,21 @@ from PySide import QtCore, QtGui
class CounterLabel(QtGui.QWidget):
"""CounterLabel(QtGui.QWidget)
-
+
Provides a custom label widget to be used as a counter, with signals
similar to those provided by QAbstractSlider subclasses and properties
similar to those provided by QLabel.
"""
-
+
# We define two signals that are used to indicate changes to the status
# of the widget.
__pyqtSignals__ = ("valueChanged(int)", "valueChanged(const QString &)")
-
+
def __init__(self, parent = None):
-
+
QtGui.QWidget.__init__(self, parent)
self.setAutoFillBackground(False)
-
+
self._font = QtGui.QFont()
self._minimum = 1
self._maximum = 1
@@ -51,9 +51,9 @@ class CounterLabel(QtGui.QWidget):
self._offset = 0
self.rescale()
self.reposition()
-
+
def paintEvent(self, event):
-
+
p = QtGui.QPainter()
p.begin(self)
p.setRenderHint(QtGui.QPainter.Antialiasing)
@@ -62,57 +62,57 @@ class CounterLabel(QtGui.QWidget):
p.scale(self._scale, self._scale)
p.drawText(self._xpos, self._ypos, str(self._value))
p.end()
-
+
def sizeHint(self):
return QtCore.QSize(32, 32)
-
+
def rescale(self):
-
+
fm = QtGui.QFontMetricsF(self._font, self)
maxRect = fm.boundingRect(QtCore.QRectF(self.rect()),
QtCore.Qt.AlignCenter, str(self._maximum))
xscale = float(self.width())/maxRect.width()
yscale = float(self.height())/maxRect.height()
self._scale = min(xscale, yscale)
-
+
def reposition(self):
-
+
fm = QtGui.QFontMetricsF(self._font, self)
rect = fm.boundingRect(QtCore.QRectF(self.rect()),
QtCore.Qt.AlignCenter, str(self._value))
self._xpos = -rect.width()/2.0
self._ypos = rect.height()/2.0 - fm.descent()
self.update()
-
+
# Provide getter and setter methods for the font property.
-
+
def getFont(self):
return self._font
-
+
def setFont(self, font):
self._font = font
self.rescale()
self.reposition()
-
- font = QtCore.pyqtProperty("QFont", getFont, setFont)
-
+
+ font = QtCore.Property("QFont", getFont, setFont)
+
# Provide getter and setter methods for the minimum and maximum properties.
-
+
def getMinimum(self):
return self._minimum
-
+
def setMinimum(self, value):
self._minimum = value
if self._minimum > self._maximum:
self.setMaximum(self._minimum)
if self._minimum > self._value:
self.setValue(self._minimum)
-
- minimum = QtCore.pyqtProperty("int", getMinimum, setMinimum)
-
+
+ minimum = QtCore.Property("int", getMinimum, setMinimum)
+
def getMaximum(self):
return self._maximum
-
+
def setMaximum(self, value):
self._maximum = value
self._minimum = min(self._minimum, self._maximum)
@@ -120,28 +120,28 @@ class CounterLabel(QtGui.QWidget):
self.setValue(self._maximum)
self.rescale()
self.reposition()
-
- maximum = QtCore.pyqtProperty("int", getMaximum, setMaximum)
-
+
+ maximum = QtCore.Property("int", getMaximum, setMaximum)
+
# We provide an offset property to allow the value shown to differ from
# the internal value held by the widget.
-
+
def getOffset(self):
return self._offset
-
+
def setOffset(self, value):
self._offset = value
-
- offset = QtCore.pyqtProperty("int", getOffset, setOffset)
-
+
+ offset = QtCore.Property("int", getOffset, setOffset)
+
# The value property is implemented using the getValue() and setValue()
# methods.
-
+
def getValue(self):
return self._value
-
+
# The setter method for the value property can also be used as a slot.
- @QtCore.pyqtSignature("setValue(int)")
+ @QtCore.Slot(int)
def setValue(self, value):
if not self._minimum <= value <= self._maximum:
return
@@ -150,17 +150,17 @@ class CounterLabel(QtGui.QWidget):
self.emit(QtCore.SIGNAL("valueChanged(const QString &)"),
QtCore.QString(str(value + self._offset)))
self.reposition()
-
- value = QtCore.pyqtProperty("int", getValue, setValue)
-
+
+ value = QtCore.Property("int", getValue, setValue)
+
# Like QAbstractSpinBox, we provide stepUp() and stepDown() slots to
# enable the value to be incremented and decremented.
-
- @QtCore.pyqtSignature("stepUp()")
+
+ @QtCore.Slot()
def stepUp(self):
self.setValue(self._value + 1)
-
- @QtCore.pyqtSignature("stepDown()")
+
+ @QtCore.Slot()
def stepDown(self):
self.setValue(self._value - 1)