如何绑定Raspberry的GPIO事件来调用TTK按钮?

问题描述 投票:0回答:1

这是处理键盘事件的代码。我想对 gpio 状态更改而不是 key_press 事件执行相同的操作。谢谢:

from tkinter import *
from tkinter import ttk
import keyboard

root = Tk()

BUT_Quitter = ttk.Button ( root , text = "Quitter" , command = root.destroy )
BUT_Quitter.pack ( )

def key_press(event):
    key = event.char
    if key=='q':
     BUT_Quitter.invoke() 

root.bind('<Key>', key_press)

root.mainloop ( )

PS:无螺纹

raspberry-pi interrupt gpio ttk
1个回答
0
投票

我想这段代码可以完成这项工作,尚未测试,不确定这是最简单的方法:

from tkinter import *
from tkinter import ttk
import RPi.GPIO as GPIO

root = Tk()

Pin=10
GPIO.setmode(GPIO.BCM)
GPIO.setup(Pin, GPIO.IN)

def p():
  print('hello')

BUT_Quitter = ttk.Button ( root , text = "Quitter" , command = root.destroy )
BUT_Quitter.pack ( )
BUT_display = ttk.Button ( root , text = "Hello" , command = p )
BUT_display.pack ( )

def poll_for_data():
    data=GPIO.input(Pin)
    if data==1:
        BUT_display.invoke()
    root.after(100, poll_for_data)
    
root.after(100, poll_for_data)
 
root.mainloop ( )
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.