python 线程

一世执手 提交于 2020-01-30 01:08:22

通过线程实现并发,借助tkinter;实现不同按键操作的并发!

学习‘Python-100-Days-master’,例子运行有些问题,需要改进!

from threading import Thread
import tkinter
from time import sleep
from tkinter.messagebox import showinfo

#定义button参数,实现参数的传递
class down_thread(Thread):
    def __init__(self,button_x):
        self.button = button_x
        super().__init__()

    def run(self):
        sleep(10)
        showinfo('提示', '下载完成!')
        # 启用下载按钮
        self.button.config(state=tkinter.NORMAL)


def down_load_task(button):
    button.config(state=tkinter.DISABLED)
    t = down_thread(button)
    t.start()

def label_show_task():
    tkinter.messagebox.showinfo('hi', '线程测试程序')

def main():
    top = tkinter.Tk()
    top.title('线程测试')
    top.geometry('200x150')
    

    panel = tkinter.Frame(top)
    #定义button参数,实现参数的传递
    button1 = tkinter.Button(panel, text='下载', command=lambda : down_load_task(button1))
    button1.pack(side='left')
    button2 = tkinter.Button(panel, text='关于', command=label_show_task)
    button2.pack(side='right')
    panel.pack(side='bottom')

    tkinter.mainloop()

if __name__ == '__main__':
    main()```

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!