Code: Select all
#!/usr/bin/python3
import sys, time
from PyQt4 import QtCore, QtGui
from os.path import join
from datetime import datetime #used for the date/time in the thread
class MainForm(QtGui.QMainWindow):
def __init__(self):
super(MainForm, self).__init__()
self.initUI()
def initUI(self):
# Create a set of lcds to display the temps
self.lcdin = QtGui.QLCDNumber(self)
self.lcdin.move(20, 30)
# create information labels
self.lbltime = QtGui.QLabel('Time', self)
self.lbltime.move(28, 4)
#Start Button
self.startButton = QtGui.QPushButton("&Start", self)
self.startButton.resize(self.startButton.sizeHint())
self.startButton.move(60, 120)
self.startButton.clicked.connect(self.start_Updating)
# Resize the form & show it center screen
self.resize(280, 150)
self.center()
self.setWindowTitle('Current Time')
self.show()
self.start_Updating()
def center(self):
qr = self.frameGeometry()
cp = QtGui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
def start_Updating(self):
self.startButton.setEnabled(False)
self.threads = []
updater=UpdateForm(self.lcdin, self.lbltime)
self.threads.append(updater)
updater.start()
return
class UpdateForm(QtCore.QThread):
def __init__(self, lcdin, lbltime):
QtCore.QThread.__init__(self)
#self.n = n
self.lcdin = lcdin
self.lbltime = lbltime
def run(self):
self.upsdate(1)
def upsdate(self, n):
while True:
print('Hello RPI...')
print(datetime.now().strftime('%-I:%M:%S,%p %-m-%-d-%Y '))
clock=datetime.now().strftime("%-I:%M:%S")
print(clock)
self.lcdin.display(clock)
time.sleep(n)
def main():
app = QtGui.QApplication(sys.argv)
ex = MainForm()
sys.exit(app.exec_())
if __name__ == '__main__':
main()