1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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
|