如何解决未处理按钮事件
我要将几年前在Perl中编写的仿真移植到Python,并且当我单击“停止”按钮时,我不得不暂停主仿真循环。
工作原理:
有一张我要绘制的画布,还有一个“运行”和“停止”按钮。 RUN按钮开始仿真,而STOP按钮停止仿真。单击“停止”按钮时,stop()
函数将全局标志Run_sim
设置为0,并在主仿真循环while Run_sim != STOP:
中检查该标志。
我知道在未运行模拟时正在调用stop()
函数并设置Run_sim
标志,因为我在添加模拟循环代码之前对其进行了测试。
但是,当仿真循环运行时,当单击STOP按钮时,它会出现,直到从终端执行 Ctrl-C 时,事件都不会得到处理,并且不会调用stop()
函数。
关于如何解决此问题的任何建议?
import sys
from Tkinter import *
import math
import time
import tkMessageBox
def stop():
global Run_sim
Run_sim = STOP
###############
# main part of simulation
###############
def display_cluster():
while Run_sim != STOP:
.
.
.
bunch of code here
.
.
.
# end while Run_sim
# end display_cluster()
stop_button = Button(button_frame,text="Stop",fg="red",command = stop)
stop_button.pack(side = 'left')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。