diff options
Diffstat (limited to 'examples/dclock.py')
-rwxr-xr-x | examples/dclock.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/dclock.py b/examples/dclock.py new file mode 100755 index 0000000..302d454 --- /dev/null +++ b/examples/dclock.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# A port to PyTQt of the dclock example from TQt v2.x. + + +import sys, string +from python_tqt.qt import * + + +class DigitalClock(TQLCDNumber): + def __init__(self, parent=None, name=None): + TQLCDNumber.__init__(self, parent, name) + self.showingColon = 0 + self.setFrameStyle(TQFrame.Panel | TQFrame.Raised) + self.setLineWidth(2) + self.showTime() + self.normalTimer = self.startTimer(500) + self.showDateTimer = -1 + + def timerEvent(self, e): + if e.timerId() == self.showDateTimer: + self.stopDate() + else: + if self.showDateTimer == -1: + self.showTime() + + def mousePressEvent(self, e): + if e.button() == TQt.LeftButton: + self.showDate() + + def showDate(self): + if self.showDateTimer != -1: + return + d = TQDate.currentDate() + self.display('%2d %2d' % (d.month(), d.day())) + self.showDateTimer = self.startTimer(2000) + + def stopDate(self): + self.killTimer(self.showDateTimer) + self.showDateTimer = -1 + self.showTime() + + def showTime(self): + self.showingColon = not self.showingColon + s = list(str(TQTime.currentTime().toString())[:5]) #.left(5) + if not self.showingColon: + s[2] = ' ' + if s[0] == '0': + s[0] = ' ' + s = ''.join(s) + self.display(s) + +a = TQApplication(sys.argv) +clock = DigitalClock() +clock.resize(170,80) +a.setMainWidget(clock) +clock.show() +a.exec_loop() |