我正在制作一个程序,该程序在主线程中使用tkinter接口。用户单击“运行”按钮后,cherrypy服务器将在另一个线程中启动
...
def startServer():
class HelloWorld(object):
@cherrypy.expose
def printText(self):
print("Printing Some Text")
return {"sucess": "true"}
cherrypy.config.update({
'server.socket_host': '127.0.0.1',
'server.socket_port': 8080,
})
cherrypy.quickstart(HelloWorld(), '/', conf)
def serverExec():
t = threading.Thread(target=startServer, args=())
t.start()
root = Tk()
button = Button(top, text="Run", command=serverExec)
button.grid(row=0, column=0, columnspan=2, sticky=W + E)
root.mainloop()
我想知道当我点击“停止”按钮时,如何停止樱桃色的线。我不知道如何与Cherrypy线程通信,因为Cherrypy在循环中阻止它
不要叫快速入门。阅读它的(短!)code并使用你需要的部分。在这种情况下,只需停止
engine.block()
调用,它就不会阻塞(并且不需要在单独的线程中启动它)然后从
Stop
按钮调用engine.stop()
(而不是用于关闭进程的exit
)。如果愿意,请从另一个按钮再次调用engine.start()
相关问题 更多 >
编程相关推荐