问题描述
from guizero import App,Window,Drawing,PushButton,Text
from time import sleep
def redon():
draw.oval (325,550,575,800,color="#f70000")
def redoff():
draw.oval (325,color="#520404")
def greenon():
draw.oval (325,40,280,color="#08d10f")
def greenoff():
draw.oval (325,color="#072e04")
def greenblink():
draw.oval (325,color="#08d10f")
sleep(1)
draw.oval (325,color="#072e04")
def yellowon():
draw.oval (325,540,290,color="yellow")
def yellowoff():
draw.oval (325,color="#59580b")
def blueon():
draw.oval (55,305,color = "#1594b0")
def blueoff():
draw.oval (55,color = "#0a3842")
def sequenceon():
seq = True
while seq == True:
draw.oval (325,color="#08d10f") #green on
for i in range(0,5): #left turn blink
draw.oval (55,color = "#1594b0") #blue on
sleep (0.5)
draw.oval (55,color = "#0a3842") #blue off
sleep (0.5)
draw.oval (325,color="#072e04") #green off
draw.oval (325,color="yellow") #yellow on
sleep (1)
draw.oval (325,color="#f70000") #red on
sleep (1)
draw.oval (325,color="#520404") #red off
def sequenceoff():
seq = False
draw.oval (325,color="#520404") #red off
draw.oval (325,color="#072e04") #green off
draw.oval (55,color = "#0a3842")#blue off
draw.oval (325,color="#59580b") #yellow off
main = App(title = "Traffic Light View",width=1000,height=1000)
draw = Drawing(main,width = 1000,height = 1000)
draw.rectangle (300,10,600,810,color = "black")
draw.oval (325,color = "#072e04")
draw.oval (325,color = "#59580b")
draw.oval (325,color = "#520404")
draw.rectangle (45,315,color="black")
draw.oval (55,color = "#0a3842")
control = Window(main,title="Controller",layout = "grid",height="200",width="700")
greent = Text(control,"GREEN",grid=[0,1])
greenon1 = PushButton(control,text="Green Light - ON",command=greenon,2])
greenoff1 = PushButton(control,text="Green Light - OFF",command=greenoff,3])
greenblink1 = PushButton(control,text="Green Light - Blink",command=greenblink,4])
yellowt = Text(control,"YELLOW",grid=[1,1])
yellowon1 = PushButton(control,text="Yellow Light - ON",command = yellowon,grid =[1,2])
yellowoff1 = PushButton(control,text="Yellow Light - OFF",command=yellowoff,3])
redt = Text(control,"RED",grid = [2,1])
redon1 = PushButton(control,text="Red Light - ON",command=redon,grid=[2,2])
redoff1 = PushButton(control,text="Red Light - OFF",command=redoff,3])
bluet = Text(control,"BLUE",grid= [3,1])
blueon1 = PushButton(control,text="Blue Light - ON",command=blueon,grid=[3,2])
blueoff1 = PushButton(control,text="Blue Light - OFF",command=blueoff,3])
sequencet = Text(control,"SEQUENCE",grid=[4,1])
sequenceon1 = PushButton(control,text="Sequence - Start",command=sequenceon,2])
sequenceoff1 = PushButton(control,text = "Sequence - Stop",command=sequenceoff,3])
main.display()
当我运行代码并单击 greenblink() 或 sequenceon() 按钮时,按钮将按住表示代码正在休眠,然后它将运行后面的代码。为什么 sleep 在函数中的所有其他代码之前运行?
此代码是用 python 编写的,用于 3b rasBerry pi。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)