summaryrefslogtreecommitdiff
path: root/examples/simplewidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/simplewidget.py')
-rwxr-xr-xexamples/simplewidget.py105
1 files changed, 99 insertions, 6 deletions
diff --git a/examples/simplewidget.py b/examples/simplewidget.py
index e952dc6..4ea38c6 100755
--- a/examples/simplewidget.py
+++ b/examples/simplewidget.py
@@ -1,5 +1,4 @@
#!/usr/bin/env python
-# coding: utf-8
# /*##########################################################################
#
# Copyright (c) 2016-2018 European Synchrotron Radiation Facility
@@ -44,6 +43,8 @@ from silx.gui.colors import Colormap
from silx.gui.widgets.WaitingPushButton import WaitingPushButton
from silx.gui.widgets.ThreadPoolPushButton import ThreadPoolPushButton
from silx.gui.widgets.RangeSlider import RangeSlider
+from silx.gui.widgets.LegendIconWidget import LegendIconWidget
+from silx.gui.widgets.ElidedLabel import ElidedLabel
class SimpleWidgetExample(qt.QMainWindow):
@@ -69,6 +70,14 @@ class SimpleWidgetExample(qt.QMainWindow):
layout.addWidget(self.createRangeSlider())
layout.addWidget(self.createRangeSliderWithBackground())
+ panel = self.createLegendIconPanel(self)
+ layout.addWidget(qt.QLabel("LegendIconWidget"))
+ layout.addWidget(panel)
+
+ panel = self.createElidedLabelPanel(self)
+ layout.addWidget(qt.QLabel("ElidedLabel"))
+ layout.addWidget(panel)
+
self.setCentralWidget(main_panel)
def createWaitingPushButton(self):
@@ -94,7 +103,7 @@ class SimpleWidgetExample(qt.QMainWindow):
def takesTimeToComputePow(self, a, b):
qt.QThread.sleep(2)
- return a ** b
+ return a**b
def createThreadPoolPushButton(self):
widget = ThreadPoolPushButton(text="Compute 2^16")
@@ -107,9 +116,15 @@ class SimpleWidgetExample(qt.QMainWindow):
widget = RangeSlider(self)
widget.setRange(0, 500)
widget.setValues(100, 400)
- widget.sigValueChanged.connect(functools.partial(self.printEvent, "sigValueChanged"))
- widget.sigPositionChanged.connect(functools.partial(self.printEvent, "sigPositionChanged"))
- widget.sigPositionCountChanged.connect(functools.partial(self.printEvent, "sigPositionCountChanged"))
+ widget.sigValueChanged.connect(
+ functools.partial(self.printEvent, "sigValueChanged")
+ )
+ widget.sigPositionChanged.connect(
+ functools.partial(self.printEvent, "sigPositionChanged")
+ )
+ widget.sigPositionCountChanged.connect(
+ functools.partial(self.printEvent, "sigPositionCountChanged")
+ )
return widget
def createRangeSliderWithBackground(self):
@@ -122,6 +137,84 @@ class SimpleWidgetExample(qt.QMainWindow):
widget.setGroovePixmapFromProfile(background, colormap)
return widget
+ def createLegendIconPanel(self, parent):
+ panel = qt.QWidget(parent)
+ layout = qt.QVBoxLayout(panel)
+
+ # Empty
+ legend = LegendIconWidget(panel)
+ layout.addWidget(legend)
+
+ # Line
+ legend = LegendIconWidget(panel)
+ legend.setLineStyle("-")
+ legend.setLineColor("blue")
+ legend.setLineWidth(2)
+ layout.addWidget(legend)
+
+ # Symbol
+ legend = LegendIconWidget(panel)
+ legend.setSymbol("o")
+ legend.setSymbolColor("red")
+ layout.addWidget(legend)
+
+ # Line and symbol
+ legend = LegendIconWidget(panel)
+ legend.setLineStyle(":")
+ legend.setLineColor("green")
+ legend.setLineWidth(2)
+ legend.setSymbol("x")
+ legend.setSymbolColor("violet")
+ layout.addWidget(legend)
+
+ # Colormap
+ legend = LegendIconWidget(panel)
+ legend.setColormap("viridis")
+ layout.addWidget(legend)
+
+ # Symbol and colormap
+ legend = LegendIconWidget(panel)
+ legend.setSymbol("o")
+ legend.setSymbolColormap("viridis")
+ layout.addWidget(legend)
+
+ # Symbol (without surface) and colormap
+ legend = LegendIconWidget(panel)
+ legend.setSymbol("+")
+ legend.setSymbolColormap("plasma")
+ layout.addWidget(legend)
+
+ # Colormap + Line + Symbol
+ legend = LegendIconWidget(panel)
+ legend.setColormap("gray")
+ legend.setLineStyle("-")
+ legend.setLineColor("white")
+ legend.setLineWidth(3)
+ legend.setSymbol(".")
+ legend.setSymbolColormap("red")
+ layout.addWidget(legend)
+
+ return panel
+
+ def createElidedLabelPanel(self, parent):
+ panel = qt.QWidget(parent)
+ layout = qt.QVBoxLayout(panel)
+
+ label = ElidedLabel(parent)
+ label.setText("A very long text which is far too long.")
+ layout.addWidget(label)
+
+ label = ElidedLabel(parent)
+ label.setText("A very long text which is far too long.")
+ label.setElideMode(qt.Qt.ElideMiddle)
+ layout.addWidget(label)
+
+ label = ElidedLabel(parent)
+ label.setText("Basically nothing.")
+ layout.addWidget(label)
+
+ return panel
+
def main():
"""
@@ -131,7 +224,7 @@ def main():
sys.excepthook = qt.exceptionHandler
window = SimpleWidgetExample()
window.show()
- result = app.exec_()
+ result = app.exec()
# remove ending warnings relative to QTimer
app.deleteLater()
sys.excepthook = sys.__excepthook__