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