程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Tkinter 窗口后端编码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Tkinter 窗口后端编码?

开发过程中遇到Tkinter 窗口后端编码的问题如何解决?下面主要结合日常开发的经验,给出你关于Tkinter 窗口后端编码的解决方法建议,希望对你解决Tkinter 窗口后端编码有所启发或帮助;
import pyupbit
from tkinter import *

class Main(Frame):
    def __init__(self,window):
        Frame.__init__(self,window)

        self.window = window

        self.price = Label(self.window,text='hello')
        self.price.place(x=20,y=20)

        self.get_price()

    def get_price(self):
        self.after(100,self.get_price)

        price = pyupbit.get_current_price('KRW-BTC')
        self.price.configure(text=price)

if __name__ == '__main__':
    root = Tk()
    root.geometry('300x300')
    Main(root)
    root.mainloop()

我试图每毫秒显示一次比特币价格。我猜,由于 API 延迟,窗口看起来有延迟。我想在后端获取价格并在前端显示。我怎么能够 ?我可以获得示例吗?

解决方法

试试这个:

import pyupbit
from tkinter import *
from threading import Thread

class Main(Frame):
    def __init__(self,window):
        super().__init__(window)

        self.window = window
        self.price = 0

        self.price_label = Label(self.window,text='hello')
        self.price_label.place(x=20,y=20)

        thread = Thread(target=self.get_price_loop,daemon=True)
        thread.start()

        self.show_price()

    def show_price(self):
        self.price_label.configure(text=self.price)
        self.after(30,self.show_price)

    def get_price_loop(self):
        while True:
            self.price = pyupbit.get_current_price('KRW-BTC')
            # Here you can add a bit of delay using `time.sleep(0.1)`

if __name__ == '__main__':
    root = Tk()
    root.geometry('300x300')
    Main(root)
    root.mainloop()

我有 2 个循环。 tkinter 循环显示 self.price 变量中的任何内容,另一个线程中的 while True 循环使用 self.price = pyupbit.get_current_price('KRW-BTC') 更新该值。

大佬总结

以上是大佬教程为你收集整理的Tkinter 窗口后端编码全部内容,希望文章能够帮你解决Tkinter 窗口后端编码所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: