如何在Racket中处理GUI退出?

时间:2013-09-08 13:47:49

标签: events racket

我的Racket GUI应用程序在退出时需要做很多清理工作,即当用户按下X按钮时。这些包括杀死子进程(在Windows上不自动)等。

将.rkt包装在一个等待的shell脚本中,然后对我进行清理工作有点过于苛刻。在Racket文档中有许多退出处理程序(退出处理程序等),但它们似乎都不起作用!

1 个答案:

答案 0 :(得分:10)

您可能希望在on-close中增加frame%,例如:

#lang racket/gui

(send
 (new (class frame% (super-new)
        (define/augment (on-close)
          (displayln "Exiting...")))
      [label "Frame"]
      [width 400] [height 200])
 show #t)

在我的机器上打印"退出..."当我点击结束十字架时。