You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
58 lines
1.5 KiB
#!/usr/bin/env python
|
|
|
|
# TQt tutorial 7.
|
|
|
|
import sys
|
|
from PyTQt import tqt
|
|
|
|
|
|
class LCDRange(tqt.TQVBox):
|
|
def __init__(self, parent=None, name=None):
|
|
tqt.TQVBox.__init__(self, parent, name)
|
|
|
|
lcd = tqt.TQLCDNumber(2, self, "lcd")
|
|
self.slider = tqt.TQSlider(tqt.TQt.Horizontal, self, "slider")
|
|
self.slider.setRange(0, 99)
|
|
self.slider.setValue(0)
|
|
self.connect(self.slider, tqt.TQ_SIGNAL("valueChanged(int)"), lcd, tqt.TQ_SLOT("display(int)"))
|
|
self.connect(self.slider, tqt.TQ_SIGNAL("valueChanged(int)"), self, tqt.PYSIGNAL("valueChanged(int)"))
|
|
|
|
def value(self):
|
|
return self.slider.value()
|
|
|
|
def setValue(self, value):
|
|
self.slider.setValue(value)
|
|
|
|
|
|
class MyWidget(tqt.TQVBox):
|
|
def __init__(self, parent=None, name=None):
|
|
tqt.TQVBox.__init__(self, parent, name)
|
|
|
|
quit = tqt.TQPushButton("Quit", self, "quit")
|
|
quit.setFont(tqt.TQFont("Times", 18, tqt.TQFont.Bold))
|
|
|
|
self.connect(quit, tqt.TQ_SIGNAL("clicked()"), tqt.tqApp, tqt.TQ_SLOT("quit()"))
|
|
|
|
grid = tqt.TQGrid(4, self)
|
|
|
|
self.lcdlist = []
|
|
previous = None
|
|
|
|
for r in range(4):
|
|
for c in range(4):
|
|
lr = LCDRange(grid)
|
|
|
|
if previous:
|
|
self.connect(lr, tqt.PYSIGNAL("valueChanged(int)"), previous.setValue)
|
|
|
|
previous = lr
|
|
self.lcdlist.append(lr)
|
|
|
|
|
|
a = tqt.TQApplication(sys.argv)
|
|
|
|
w = MyWidget()
|
|
a.setMainWidget(w)
|
|
w.show()
|
|
sys.exit(a.exec_loop())
|