我在做一个小项目,有一个树莓皮和一个2.8英寸的电容触摸屏。我是python新手,需要防止多次按下按钮排队。所需的行为是UI在执行上一个按钮按下时忽略任何按钮按下。这是我的密码:
from Tkinter import *
import RPi.GPIO as GPIO
import time
#pin assignments
A=11
B=13
C=15
D=12
E=16
FAN=8
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(A, GPIO.OUT)
GPIO.setup(B, GPIO.OUT)
GPIO.setup(C, GPIO.OUT)
GPIO.setup(D, GPIO.OUT)
GPIO.setup(E, GPIO.OUT)
GPIO.setup(FAN, GPIO.OUT)
class App:
def fanOn(self):
GPIO.output(FAN,True)
def fanOff(self):
GPIO.output(FAN,False)
def btnClicked(self,atty):
GPIO.output(atty,True)
self.fanOn()
time.sleep(5)
GPIO.output(atty,False)
self.fanOff()
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.buttonA = Button(frame, text="Fire A", fg="red", command=lambda: self.btnClicked(A))
self.buttonA.pack(side=LEFT)
self.buttonB = Button(frame, text="Fire B", fg="red", command=lambda: self.btnClicked(B))
self.buttonB.pack(side=LEFT)
self.buttonC = Button(frame, text="Fire C", fg="red", command=lambda: self.btnClicked(C))
self.buttonC.pack(side=LEFT)
self.buttonD = Button(frame, text="Fire D", fg="red", command=lambda: self.btnClicked(D))
self.buttonD.pack(side=LEFT)
self.buttonE = Button(frame, text="Fire E", fg="red", command=lambda: self.btnClicked(E))
self.buttonE.pack(side=LEFT)
root = Tk()
app = App(root)
root.mainloop()
谢谢你的帮助!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐