Python 按多个Tkinter按钮

Python 按多个Tkinter按钮,python,tkinter,Python,Tkinter,嗨,我想知道你是否能做到,这样你就可以一次按下多个按钮 比如: 我可以点击“go”,然后点击“go hi”,但我不能,因为在完成之前窗口会冻结。有没有人知道如何制作它,以便您一次可以按多个按钮?这里您想要的是使用线程。线程允许您同时执行多段代码(或者它们至少看起来是同时执行的) 在delayeddosmethings()中,您需要生成一个执行实际工作的新线程,以便可以将控制权返回到主线程中的Tkinter 您可以在delayedDoSomething()中执行相同的操作 下面是一些您可以在Del

嗨,我想知道你是否能做到,这样你就可以一次按下多个按钮

比如:


我可以点击“go”,然后点击“go hi”,但我不能,因为在完成之前窗口会冻结。有没有人知道如何制作它,以便您一次可以按多个按钮?

这里您想要的是使用线程。线程允许您同时执行多段代码(或者它们至少看起来是同时执行的)

delayeddosmethings()
中,您需要生成一个执行实际工作的新线程,以便可以将控制权返回到主线程中的Tkinter

您可以在
delayedDoSomething()
中执行相同的操作

下面是一些您可以在DelayedDosMethings()中使用的实际代码


是Python内置线程模块的文档,这将非常有用

只有一件事,尽管我认为导入线程应该和所有导入一起处于顶部
from Tkinter import *
tkwin = Tk()
def delayedDoSomethings():
    for i in range(1,10000000):
        print 'hi',i
def delayedDoSomething():
       for i in range(1,10000000):
           print i

a = Button(tkwin, text="Go", command=delayedDoSomething)
a.pack()
b = Button(tkwin, text="Go hi", command=delayedDoSomethings)
b.pack()
tkwin.mainloop()
def delayedDoSomethings():
    def work():
        for i in rance(1, 10000000):
            print 'hi',i
    import thread
    thread.start_new_thread(separateThread, ()) #run the work function in a separate thread.