python - 在 pi 上同时运行 python tkinter 按钮和按钮
问题描述
我有一个 python 程序,它将在指定时间显示一个包含 tkinter 按钮的帧(在连接到 Raspberry pi 的 LCD 上)。当用户按下 tkinter 按钮时,将调用一个函数来关闭 LED 和蜂鸣器。我还有一个调用相同功能的物理按钮。问题是,我不能同时运行 tkinter 和物理按钮。目前使用下面的代码,只有 tkinter 按钮在按下时能够调用该函数。但是当我按下按钮时,什么也没有发生(没有调用函数;LED 和蜂鸣器保持打开状态)。
我的问题是我如何能够同时运行两个按钮?这样用户可以按下 tkinter 按钮或按钮来关闭 LED 和蜂鸣器。
....
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18,GPIO.IN, pull_up_down=GPIO.PUD_UP)
def alarm_message(number):
root.frame = Frame(bg="red")
root.frame.grid()
change_colour()
title_message=Label(root.frame, font = "Arial 150 ",fg='white',bg='black')
title_message.grid(row=0,column=0,padx=80,pady=170)
input_state = GPIO.input(18)
if (number==1):
title_message.config(text="TAKE YOUR \n MORNING \n MEDICATION ")
taken_button = Button(root.frame, text="Done",command=lambda:button_pressed(1), font=("Arial", 80),bd=10)
taken_button.grid(row=0,column=1,padx=45,pady=100)
if input_state == False:
print('Button pressed: Physical1')
button_pressed(1)
time.sleep(0.2)
解决方案
只需将最后第四行的 False 更改为 True 这肯定会起作用
推荐阅读
- prometheus - 我是否正确理解 Prometheus 的速率与增加函数?
- python - Python - 如果没有存储在变量中,输入是否会保留一个值?
- css - Youtube 视频在 Windows 上正常播放,但在 Linux 服务器上不正常
- python-3.6 - OCI(Oracle 云)子分区
- dart - InheritedWidget 混淆
- javascript - 这个高阶函数是如何工作的?
- asp.net - 如何在有条件的同一页面上正确指定链接中的路径
- terraform - 条件运算符适用于一种条件但不适用于其他条件
- r - 如何合并两个具有冲突值的数据框
- tensorflow - 如何在运行 i7 64 位处理器的 Windows 10 上安装 tensorflow-1.12.0-cp36-cp36m-win_amd64.whl