微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未处理按钮事件

如何解决未处理按钮事件

我要将几年前在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 举报,一经查实,本站将立刻删除。