python-3.x - Python MultiProcessing 使 tkinter GUI 再次出现
问题描述
我正在学习创建一个 gui 来开始多处理打印。当我单击开始按钮时,它会再次绘制 gui。有没有限制它只运行多处理打印?
创建了 gui.py :
def stopstart():
global instance
if startbtn['text']=="start":
# Multiprocessing start here
RunMultiProcessor()
# End of Multiprocessing
startbtn.configure(text="END")
startbtn.configure(bg="#ff8a65")
else:
popuptimer()
else:
startbtn.configure(text="start")
startbtn.configure(bg="#e2f1f8")
startbtn = Button(leftframe, text = "start",
background = "#e2f1f8", fg = "#000000",bd=1,command = stopstart)
startbtn.pack(side = TOP,expand = FALSE,fill = X)
创建了 multiprocessing.py :
def run():
print("printing")
time.sleep(2)
print("print end")
def RunMultiProcessor():
for _ in range(2):
processes[i] = multiprocessing.Process(target=run,))
processes[i].start()
解决方案
感谢@Mark Tolonen 的回答。下面是最终代码。
def stopstart():
global instance
if startbtn['text']=="start":
# Multiprocessing start here
RunMultiProcessor()
# End of Multiprocessing
startbtn.configure(text="END")
startbtn.configure(bg="#ff8a65")
else:
popuptimer()
else:
startbtn.configure(text="start")
startbtn.configure(bg="#e2f1f8")
startbtn = Button(leftframe, text = "start",
background = "#e2f1f8", fg = "#000000",bd=1,command = stopstart)
startbtn.pack(side = TOP,expand = FALSE,fill = X)
if __name__ == '__main__':
top.mainloop()
推荐阅读
- sublime-text-plugin - Sublime Text Plugin 打开文件符号
- python - 如何使用python仅删除CSV中的一行
- python - 如何在python中使用多线程并加速代码
- docker - 使用 Osiris Keda 无法扩展 Http 触发器
- node.js - 使用 Heroku 访问本地数据库
- macos - grep 未完成该过程(已杀死:9)
- javascript - SyntaxError:输入 Angular 6 和 RxJS 的意外结束
- mysql - 想在一场战争中拥有两个数据库,但面临 ehCacheManager 和 transactionmanager 的问题
- php - 循环的 PHP 性能问题
- ios - 如何从 App Store 崩溃报告中复制 iOS 错误启动已用应用程序 CPU 时间(秒):