You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytde/examples/pykde-sampler/misc/gradientselect.py

52 lines
1.9 KiB

from qt import QFrame, QHBoxLayout, QVBoxLayout, SIGNAL, QColor, QSizePolicy, QLabel
from kdecore import i18n
from kdeui import KPushButton, KGradientSelector, KTextEdit, KDualColorButton, KColorPatch
iconName = 'colors'
labelText = 'KGradientSelector'
docParts = ('kdeui', 'KGradientSelector')
helpText = ("An example of the KGradientSelector widget."
"\n"
"Change the start and finish colors with the dual color button."
)
class MainFrame(QFrame):
def __init__(self, parent=None):
QFrame.__init__(self, parent)
self.help = KTextEdit(helpText, '', self)
self.selector = KGradientSelector(self)
self.dualLabel = QLabel('Select Colors:', self)
self.startColor = QColor('red')
self.finishColor = QColor('blue')
self.selector.setColors(self.startColor, self.finishColor)
self.selector.setText('Start', 'Finish')
self.dualButton = KDualColorButton(self.startColor, self.finishColor, self)
self.dualButton.setSizePolicy(QSizePolicy(QSizePolicy.Maximum,
QSizePolicy.Maximum))
layout = QVBoxLayout(self, 4)
layout.addWidget(self.help, 20)
buttonLayout = QHBoxLayout(layout, 4)
buttonLayout.addWidget(self.dualLabel, 0)
buttonLayout.addWidget(self.dualButton, 1)
layout.addWidget(self.selector, 10)
self.connect(self.dualButton, SIGNAL('fgChanged(const QColor &)'),
self.selector.setFirstColor)
self.connect(self.dualButton, SIGNAL('bgChanged(const QColor &)'),
self.selector.setSecondColor)
self.connect(self.selector, SIGNAL('valueChanged(int)'),
self.updateValue)
def updateValue(self, value):
## this should be extended to update a color swatch
pass