小编jme*_*ier的帖子

Tkinter GUI很冷

我不知道我是否使用正确的代码来做到这一点.我写了一个小脚本来查找硬盘中的文件夹:

import sys
from tkinter import *
from tkinter import ttk
import threading
import os
mGui = Tk()
mGui.geometry('450x80')
mGui.title('Copy folder')
progressbar = ttk.Progressbar(orient=HORIZONTAL, length=200, mode='determinate')
progressbar.pack(side="bottom")

xe = 'progresscache'
def handle_click():
    progressbar.start()
    def searcher():
        for root, dirs, files in os.walk(r'c:'):
            for name in dirs:
                if name == xe:
                    print ("find !")
                    progressbar.stop()          
    t = threading.Thread(target=searcher)
    t.start()

dirBut = Button(mGui, text='Go find !', command = handle_click)
dirBut.pack()
mGui.mainloop()
Run Code Online (Sandbox Code Playgroud)

经过几次尝试,我仍然不得不冻结GUI,当我点击我的boutton.
所以我决定用一个线程来调用这个动作.
我不知道我们是否应该这样做以避免冻结......

好吧,一切似乎都没有冻结......

现在,我想用我的代码做一个类,但每次我遇到线程错误这是我的代码:


我的班级Searcher.py(在Appsave文件夹中)

import os
import threading
class Searcher: …
Run Code Online (Sandbox Code Playgroud)

python tkinter

3
推荐指数
1
解决办法
600
查看次数

标签 统计

python ×1

tkinter ×1