0
このアプリの問題は、「更新」ループは3秒ごとに油価を表示するだけなので、このループは絶えず実行されていることがわかりますが、ウィンドウ内のテキストを更新するだけでなく、それはシェルが油の価格をプリントしている間です。
私はマルチプロセッシングモジュールを使用しようとしましたが、それは何の違いが行われていません。
def window():
root = Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
mylabel = Label(root, text = "")
mylabel.pack()
def update():
while True:
global string_price
request = requests.get("http://www.biznesradar.pl/notowania/BRENT-OIL-ROPA-BRENT#1d_lin_lin")
content = request.content
soup = BeautifulSoup(content, "html.parser")
element = soup.find("span", { "class": "q_ch_act" })
string_price = (element.text.strip())
print(string_price)
mylabel.configure(text = str(string_price))
time.sleep(3)
root.after(400, update)
mainloop()
ありがとう!それは多くの助けになりました!アプリは右の開封後は原油価格をチェックするので、私はまた、「0」のためにあなたのコードの最下部に「root.after」で時間の値を変更しました。 –
あなたはそれを呼び出す初めてafter' '使用する必要はありません。あなたは 'update()'を直接呼び出すことができます。しかし、おそらく関数には別の名前を付けるべきです。すべてのウィジェットは 'update'メソッドを持っていますので、独自の' update'メソッドを持つと混乱するかもしれません。 –
@KarolMularski編集後にもご確認ください。ブライアンの提案に従っていくつかの変更が適用されました。 – Lafexlos