私は、インポートされたスクリプトを終了することなく、Pythonで2つのスクリプトの間で変数を渡す際に問題があります。私は、tkinter GUIのステータスバーを更新して、script2のカウンターの数を反映させたいと思います。私はデータを送信、これは発電に関係していますが、私の理解が収量がループを一時停止するというものであったことを理解2つのスクリプト間で変数を渡しますか?
#script2
import time
def information():
variable = 0
while variable < 500:
yield variable
variable += 1
print(variable)
time.sleep(1)
:
from tkinter import *
import script2
root = Tk()
canvas = Canvas(root, width=300, height=300)
canvas.pack()
def runScript():
var = script2.information()
button1 = Button(root, text="Click Me!", command=runScript)
button1.pack()
var = StringVar()
var.set('Waiting for Input...')
status = Label(root, textvariable=var, bd=1, relief=SUNKEN, anchor=W)
status.pack(side=BOTTOM, fill=X)
root.mainloop()
スクリプト2は、次のようになります。私は以下のコードを含めました元のプログラムに処理させ、ループをポーズ解除します。このプロセスを理解する良い方法はありますか?
ありがとうございました!
ありがとう!私があなたの提案した変更を加えると、私のステータスバーは "<ジェネレータオブジェクト...>"になり、script2のループは継続しません。 – cloudfr0g
また、他のスクリプトに時間を入れて、困難で時間のかかることをシミュレートします。私はそれについての情報のナゲットに感謝します! – cloudfr0g
それは私のためにうまくいきました。私のコードを 'var.set(information())'に変更しましたか?あなたは私が行ったことを正確に行う必要があります。 – abccd