如何在没有多线程运行在Python多个进程? 例如,考虑以下问题: -
我们必须做出桂,其具有启动功能的启动按钮(比如,打印所有整数),并有一个停止按钮,这样点击它停止功能。
如何做到这一点的Tkinter?
如何在没有多线程运行在Python多个进程? 例如,考虑以下问题: -
我们必须做出桂,其具有启动功能的启动按钮(比如,打印所有整数),并有一个停止按钮,这样点击它停止功能。
如何做到这一点的Tkinter?
然后,你需要的绑定Button
控件与启动工作线程的功能。 例如:
import time
import threading
import Tkinter as tk
class App():
def __init__(self, root):
self.button = tk.Button(root)
self.button.pack()
self._resetbutton()
def _resetbutton(self):
self.running = False
self.button.config(text="Start", command=self.startthread)
def startthread(self):
self.running = True
newthread = threading.Thread(target=self.printints)
newthread.start()
self.button.config(text="Stop", command=self._resetbutton)
def printints(self):
x = 0
while self.running:
print(x)
x += 1
time.sleep(1) # Simulate harder task
随着self.running
的方法,你只能通过改变其值正常结束线程。 注意,在使用多个线程的供应,同时,以避免阻塞GUI printints
正在执行。
我看了这个前一个问题 ,我想你为什么明确要求这里没有多线程的解决方案。 在Tkinter的这个解决方案可以在这样一个场景,其他线程具有与GUI部件进行通信中使用。 例如:尽管一些图像被呈现填充进度。
然而,正如有人指出的意见,这种做法是对刚刚印刷的数字太复杂。
在这里 ,你可以找到很多的信息和Tkinter的更多的例子。
编辑:
由于您的新问题已经关闭,我会在这里更改代码澄清最后一点。
你尝试使用多模块? 似乎是你要找的人。