#!/usr/bin/env python import sys if sys.version_info[0] >= 3: import PySimpleGUI as sg else: import PySimpleGUI27 as sg # GUI for switching an LED on and off to GPIO14 # GPIO and time library: import RPi.GPIO as GPIO import time # determine that GPIO numbers are used: GPIO.setmode(GPIO.BCM) GPIO.setup(14, GPIO.OUT) def SwitchLED(): varLEDStatus = GPIO.input(14) varLedStatus = 0 if varLedStatus == 0: GPIO.output(14, GPIO.HIGH) return "LED is switched ON" else: GPIO.output(14, GPIO.LOW) return "LED is switched OFF" def FlashLED(): for i in range(5): GPIO.output(14, GPIO.HIGH) time.sleep(0.5) GPIO.output(14, GPIO.LOW) time.sleep(0.5) layout = [[sg.T('Raspberry Pi LEDs')], [sg.T('', size=(14, 1), key='output')], [sg.ReadButton('Switch LED')], [sg.ReadButton('Flash LED')], [sg.Exit()]] window = sg.Window('Raspberry Pi GUI', grab_anywhere=False).Layout(layout) while True: button, values = window.Read() if button is None: break if button is 'Switch LED': window.FindElement('output').Update(SwitchLED()) elif button is 'Flash LED': window.FindElement('output').Update('LED is Flashing') window.ReadNonBlocking() FlashLED() window.FindElement('output').Update('') sg.Popup('Done... exiting')