自分で何も入力しなくても、情報を使ってラベルを更新する方法を見つけようとしています。入力なしで設定した時間間隔でtkinterラベルを更新する
書き込みしようとしているプログラムは、CPU温度をラズベリーパイから取り出してウィンドウに表示しています。私は5秒ごとに更新するために一時入力を行う必要がありますが、そうする試みはすべて失敗しました。 私はループ中にしようとしたが、彼らはtkinterの内部で動作しないことがわかりました。 私はPythonにはかなり新しいので、方法があると確信しています。ここでの同様の質問は、私に当てはまる答えには至りません。ここで
はコードの私のビットが今ある:
import subprocess
from tkinter import *
root = Tk()
root.title('CPU Temp')
cpuLab = Label(root, text = 'CPU Temp:',
font =('Nimbus Mono L',14,),
bg = 'black', fg = 'green').grid(row = 0, column = 0)
cpuTemp = subprocess.check_output(['/opt/vc/bin/vcgencmd', 'measure_temp'])
cpuVar = StringVar()
cpuDisplay = Label(root, textvariable = cpuVar,
font =('Nimbus Mono L',14),
bg = 'black', fg = 'green').grid(row = 0, column = 1)
cpuVar.set(cpuTemp[5:11])
root.mainloop()
これは、温度を示すために完璧に動作しますが、それだけでリフレッシュするために再実行する必要があります。
は、厳密に必要な素敵な、しかしではありません。 –
ああ、私はそれを知らなかった。 – frankenapps
ありがとう!私は命名のために検索中に他のポストが見えなかったと思うが、あなたの答えと組み合わせると、それは私の質問に完全に答えるように見える。私はtkinterのドキュメントを見ているときに 'after'に気づいていませんでしたが、それは素晴らしいです、もう一度ありがとう! –