Python 终端打印到tkinter GUI标签
我目前正试图从一个将值打印到终端的程序生成一个gui输出,但我不知道如何生成 生成输出的程序如下所示:Python 终端打印到tkinter GUI标签,python,user-interface,tkinter,gpio,Python,User Interface,Tkinter,Gpio,我目前正试图从一个将值打印到终端的程序生成一个gui输出,但我不知道如何生成 生成输出的程序如下所示: import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) input_A = 18 input_B = 23 GPIO.setup(input_A, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(input_B, GPIO.IN, pull_up_down=GPIO.PUD_UP) ol
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
input_A = 18
input_B = 23
GPIO.setup(input_A, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(input_B, GPIO.IN, pull_up_down=GPIO.PUD_UP)
old_a = True
old_b = True
def get_encoder_turn():
# return -1, 0, or +1
global old_a, old_b
result = 0
new_a = GPIO.input(input_A)
new_b = GPIO.input(input_B)
if new_a != old_a or new_b != old_b :
if old_a == 0 and new_a == 1 :
result = (old_b * 2 - 1)
elif old_b == 0 and new_b == 1 :
result = -(old_a * 2 - 1)
old_a, old_b = new_a, new_b
time.sleep(0.001)
return result
x = 0
while True:
change = get_encoder_turn()
if change != 0 :
x = x + change
print(x)
该程序将向终端输出数字,直到程序退出
现在,我正在努力使输出x显示在tkinter GUI中。您能否将程序作为子进程调用并拦截输出?是否有其他方法可以用当前值x更新GUI中的标签?您可以编写一个导入此模块的tkinter程序。然后,您可以调用get_encoder_turn来计算一个值。要使其连续运行,请使用根窗口上的tkinter
after
方法每X毫秒调用一次函数
在这个网站上有几个例子可以使用
after
进行这种循环,谢谢。我将继续为你做研究。谈到编码和试图找出正确的问题时,我是一个完全的新手。@RobM是Tkinter
、GPIO
和after()的例子之一。
: