diff options
Diffstat (limited to 'python/pyqt/examples3/tut7.py')
-rwxr-xr-x | python/pyqt/examples3/tut7.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/python/pyqt/examples3/tut7.py b/python/pyqt/examples3/tut7.py new file mode 100755 index 00000000..400505ea --- /dev/null +++ b/python/pyqt/examples3/tut7.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python + +# Qt tutorial 7. + +import sys +import qt + + +class LCDRange(qt.QVBox): + def __init__(self, parent=None, name=None): + qt.QVBox.__init__(self, parent, name) + + lcd = qt.QLCDNumber(2, self, "lcd") + self.slider = qt.QSlider(qt.Qt.Horizontal, self, "slider") + self.slider.setRange(0, 99) + self.slider.setValue(0) + self.connect(self.slider, qt.SIGNAL("valueChanged(int)"), lcd, qt.SLOT("display(int)")) + self.connect(self.slider, qt.SIGNAL("valueChanged(int)"), self, qt.PYSIGNAL("valueChanged(int)")) + + def value(self): + return self.slider.value() + + def setValue(self, value): + self.slider.setValue(value) + + +class MyWidget(qt.QVBox): + def __init__(self, parent=None, name=None): + qt.QVBox.__init__(self, parent, name) + + quit = qt.QPushButton("Quit", self, "quit") + quit.setFont(qt.QFont("Times", 18, qt.QFont.Bold)) + + self.connect(quit, qt.SIGNAL("clicked()"), qt.qApp, qt.SLOT("quit()")) + + grid = qt.QGrid(4, self) + + self.lcdlist = [] + previous = None + + for r in range(4): + for c in range(4): + lr = LCDRange(grid) + + if previous: + self.connect(lr, qt.PYSIGNAL("valueChanged(int)"), previous.setValue) + + previous = lr + self.lcdlist.append(lr) + + +a = qt.QApplication(sys.argv) + +w = MyWidget() +a.setMainWidget(w) +w.show() +sys.exit(a.exec_loop()) |