【问题标题】:How to handle GUI exit in Racket?如何处理 Racket 中的 GUI 退出?
【发布时间】:2013-09-12 03:01:49
【问题描述】:

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

将 .rkt 包装在等待然后进行清理的 shell 脚本中对我来说有点太笨拙了。 Racket 文档中有许多退出处理程序(exit-handler 等),但它们似乎都不起作用!

【问题讨论】:

  • 澄清一下:您的 Racket 程序是否正在启动外部 Windows 进程?
  • 是的。无论如何,Metaxal 是正确的。

标签: events racket


【解决方案1】:

您可能想在frame% 中扩充on-close,例如:

#lang racket/gui

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

当我点击关闭的十字时,我的机器上会打印“Exiting...”。

【讨论】:

    猜你喜欢
    • 2016-12-21
    • 2013-11-12
    • 1970-01-01
    • 2021-09-27
    • 2021-06-25
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多