2

私が取り組んでいるロボット工学プロジェクトの GUI インターフェースの作成を始めたばかりで、座礁してしまいました。Tkinter ウィジェットのスライダーが、調整されるたびに現在の位置/値を出力するようにします。現在、常に入力を取得する唯一の方法は、その情報を取得するボタンを手動で押すことです。このデータを取得する方法はThrottle.get()、メイン ループを実行した後に実行することだと思っていましたが、それはウィジェットを閉じるまでしか実行されません。私はTkにかなり慣れていませんが、これまでのスクリプトは次のとおりです。

from Tkinter import *
master = Tk()

def getThrottle(): # << I don't want to use a button, but I am in this case.
    print Throttle.get()

Throttle = Scale(master, from_=0, to=100, orient=HORIZONTAL)
Throttle.set(0)
Throttle.pack()

getB = Button(master, text ="Hello", command = getThrottle)  
getB.pack()

mainloop()
4

1 に答える 1

3

これは、スケールのコマンド オプションを設定するだけで実行できます。

from Tkinter import *
master = Tk()

def getThrottle(event):
    print Throttle.get()

Throttle = Scale(master, from_=0, to=100, orient=HORIZONTAL, command=getThrottle)
Throttle.set(0)
Throttle.pack()

mainloop()

これで、スケールを移動すると、データがリアルタイムでターミナルに出力されます (ボタンを押す必要はありません)。

于 2013-09-01T23:10:57.310 に答える