有没有办法阻止';特金特';s主回路';python中的线程?

有没有办法阻止';特金特';s主回路';python中的线程?,python,multithreading,tkinter,Python,Multithreading,Tkinter,我是GUI编程新手,我想在我的程序中创建一个简单的等待屏幕,我尝试过,这就是我想到的。问题是,即使进程func终止,进程func的等待屏幕也不会停止。有没有办法停止线程“t”,或者有更好的解决方案 from threading import Thread from tkinter import * from tkinter.ttk import Progressbar from tkinter import ttk def func(): t = Thread(target = wai

我是GUI编程新手,我想在我的程序中创建一个简单的等待屏幕,我尝试过,这就是我想到的。问题是,即使进程func终止,进程func的等待屏幕也不会停止。有没有办法停止线程“t”,或者有更好的解决方案

from threading import Thread
from tkinter import *
from tkinter.ttk import Progressbar
from tkinter import ttk

def func():
    t = Thread(target = waiting).start()
    for i in range(1000):
        print(i)
    #myProgress.stop()



def waiting():
    root = Tk()
    root.geometry('400x250')

    myProgress = ttk.Progressbar(root ,orient =  HORIZONTAL, length = 200 , mode = 'determinate' )
    myProgress.pack(pady = 50)

    #myButton = Button(root , text = ' Button ' , command = func).pack()
    myProgress.start(10)
    root.mainloop()

func()
您不应该通过杀死线程或其他方式来“阻止”线程。它应该从函数本身停止,例如使用变量
stop\u threads
。例如,如果var为True,那么让我们停止线程。代码:

import threading 
import time 
  
def run(): 
    while True: 
        print('thread running') 
        global stop_threads 
        if stop_threads: 
            break
  
stop_threads = False
t1 = threading.Thread(target = run) 
t1.start() 
time.sleep(1) 
stop_threads = True
t1.join() 
print('thread killed') 
您不应该通过杀死线程或其他方式来“阻止”线程。它应该从函数本身停止,例如使用变量
stop\u threads
。例如,如果var为True,那么让我们停止线程。代码:

import threading 
import time 
  
def run(): 
    while True: 
        print('thread running') 
        global stop_threads 
        if stop_threads: 
            break
  
stop_threads = False
t1 = threading.Thread(target = run) 
t1.start() 
time.sleep(1) 
stop_threads = True
t1.join() 
print('thread killed') 

这回答了你的问题吗?您不应该在线程中运行
mainloop()
。@YeeHaw几乎所有答案都有一个函数线程,在该线程中,他们所需要做的就是使用布尔值或条件停止函数的循环。但是在Tkinter的主循环中,我没有找到一种方法来解决这个问题。@acw1668还有其他方法来解决这个问题吗???这是否回答了您的问题?您不应该在线程中运行
mainloop()
。@YeeHaw几乎所有答案都有一个函数线程,在该线程中,他们所需要做的就是使用布尔值或条件停止函数的循环。但是在Tkinter的主循环中,我没有找到一种方法来解决这个问题。@acw1668还有其他方法来解决这个问题吗???