簡體   English   中英

終端打印到Tkinter GUI標簽

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM