[英]Terminal print to tkinter GUI Label
我目前正在嘗試從將值打印到終端的程序生成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中。 您可以將程序作為子過程調用並截取輸出嗎? 有沒有其他方法可以在GUI中使用當前值x更新標簽?
您可以編寫一個導入該模塊的tkinter程序。 然后,您可以調用get_encoder_turn計算值。 要使其連續運行,請在根窗口上使用tkinter after
方法每隔X毫秒調用一次該函數。
此站點上有幾個使用after
進行此類循環的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.