Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 终端打印到tkinter GUI标签_Python_User Interface_Tkinter_Gpio - Fatal编程技术网

Python 终端打印到tkinter 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

我目前正试图从一个将值打印到终端的程序生成一个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)
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()的例子之一。