zoukankan      html  css  js  c++  java
  • tkinter threading unblock GUI ( not check if the thread exists)

    from tkinter import *
    from tkinter.ttk import *
    import time
    import threading
    
    class Interface:
        def __init__(self, master):
            self.master = master
            self.browse_button= Button (master, text="Browse", command=self.browser)
            self.browse_button.pack()
            self.progressbar = Progressbar(mode="determinate", maximum=75)
    
        def browser (self):
            t = threading.Thread(target=self.read_file, args=("filename",))
            self.progressbar.pack()
            self.browse_button.config(state="disabled")
            self.master.config(cursor="wait")
            self.master.update()
    
            t.start()
            while t.is_alive():
                self.progressbar.step(1)
                self.master.update_idletasks()  # or try self.master.update()
                t.join(0.1)
    
            self.progressbar.config(value="0")
            self.progressbar.pack_forget()
            self.browse_button.config(state="enabled")
            self.master.config(cursor="")
    
        def read_file (self, filename):
            time.sleep(7)  # actually do the read here
    
    window = Tk()
    starter = Interface(window)
    window.mainloop()
    
  • 相关阅读:
    demo12-回到顶部
    demo11-友情链接
    demo10-超链接标签
    demo09-程序员练习
    demo08-图片标签
    demo07-盒子标签
    demo06-字体标签
    demo05-换行标签
    转 j2ee .线程池.对象池,连接池
    几种开源Java Web容器线程池…
  • 原文地址:https://www.cnblogs.com/otfsenter/p/6562048.html
Copyright © 2011-2022 走看看