tkinter多线程刷新界面

在win10环境下,使用Python3.9和tkinter8.6.9库,探讨如何通过多线程实现GUI界面的实时刷新,避免因主线程阻塞导致的界面卡顿问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.csdn.net/u013700771/article/details/103321783

环境:win10 + Python3.9 + tkinter8.6.9

import tkinter as tk
from tkinter import ttk
import threading, time, sys, queue
 
def fmtTime(timeStamp):
    timeArray = time.localtime(timeStamp)
    dateTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
    return dateTime

class GUI():
    def __init__(self, root):
        #new 一个Quue用于保存输出内容
        self.msg_queue = queue.Queue()
        self.initGUI(root)
    #在show_msg方法里,从Queue取出元素,输出到Text
    def show_msg(self):
        while not self.msg_queue.empty():
            content = self.msg_queue.get()
            self.text.insert("insert", content)
            self.text.see("end")
        #after方法再次调用show_msg
        self.root.after(100, self.show_msg)
 
    def initGUI(self, root):
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值