Skip to content

Instantly share code, notes, and snippets.

@thijstriemstra
Last active November 22, 2016 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thijstriemstra/fe24d55e5432a9a40ab12662f3a1a226 to your computer and use it in GitHub Desktop.
Save thijstriemstra/fe24d55e5432a9a40ab12662f3a1a226 to your computer and use it in GitHub Desktop.
time.sleep calls block pyqt app
#!/usr/bin/env python
"""
PyQt example for seven segment displays.
"""
import sys
import time
from PyQt5 import QtWidgets
import max7219.led as led
class TestApp(object):
def createGui(self):
# UI
self.app = QtWidgets.QApplication(sys.argv)
self.window = QtWidgets.QMainWindow()
main = QtWidgets.QWidget()
layout = QtWidgets.QHBoxLayout()
self.button = QtWidgets.QPushButton("Start")
self.slider = QtWidgets.QSlider()
self.button.clicked.connect(self.toggle)
layout.addWidget(self.button)
layout.addWidget(self.slider)
main.setLayout(layout)
self.window.setCentralWidget(main)
self.window.show()
self.app.exec_()
def toggle(self):
if self.button.text() == "Start":
self.start()
# note that button text is not updated
self.button.setText('Stop')
else:
self.button.setText('Start')
def start(self):
# create seven segment device
self.device = led.sevensegment(cascaded=1)
print('Simple text...')
for _ in range(8):
self.device.write_text(0, "HELLO")
time.sleep(0.6)
self.device.write_text(0, " GOODBYE")
time.sleep(0.6)
if __name__ == '__main__':
t = TestApp()
t.createGui()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment