diff options
Diffstat (limited to 'examples/pykde-sampler/dialogs/color.py')
-rw-r--r-- | examples/pykde-sampler/dialogs/color.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/pykde-sampler/dialogs/color.py b/examples/pykde-sampler/dialogs/color.py new file mode 100644 index 0000000..b749cce --- /dev/null +++ b/examples/pykde-sampler/dialogs/color.py @@ -0,0 +1,42 @@ +iconName = 'colorize' +labelText = 'KColorDialog' + + +from qt import QFrame, QHBoxLayout, QVBoxLayout, SIGNAL +from kdecore import i18n +from kdeui import KPushButton, KColorDialog, KColorPatch, KTextEdit + + +helpText = ("KDE provides a nifty common color selection dialog." + "The color selection in the dialog is tracked via a SIGNAL " + "connected to the KColorPatch area below.") + + +class MainFrame(QFrame): + def __init__(self, parent=None): + QFrame.__init__(self, parent) + self.button = KPushButton(i18n('Show Color Dialog'), self) + self.help = KTextEdit(helpText, '', self) + self.patch = KColorPatch(self) + layout = QVBoxLayout(self, 4) + layout.addWidget(self.help) + buttonlayout = QHBoxLayout(layout, 4) + buttonlayout.addWidget(self.button) + buttonlayout.addStretch(1) + layout.addWidget(self.patch, 10) + layout.addStretch(1) + self.connect(self.button, SIGNAL('clicked()'), self.showColorDialog) + + def showColorDialog(self): + dlg = KColorDialog(self) + + ## this connection is made so that there's a default color + self.connect(dlg, SIGNAL('colorSelected(const QColor &)'), + self.patch.setPaletteBackgroundColor) + dlg.setColor(self.patch.paletteBackgroundColor()) + + ## this connection is the one that changes the patch color to match + ## the color selected in the dialog + self.connect(dlg, SIGNAL('colorSelected(const QColor &)'), + self.patch.setColor) + dlg.exec_loop() |