如何使用drracket中的按钮关闭画布(其中包含按钮)?
我已经试过了。 我找不到要写什么来代替括号中的空格。如何使用drracket中的按钮关闭画布(其中包含按钮)?,racket,Racket,我已经试过了。 我找不到要写什么来代替括号中的空格。 我希望这不是家庭作业 (define frame (new frame% [label "game"] [width 500] [height 500] [alignment '(center center)])) (new button% [parent frame] [label "exit"] ; Callback procedure for a button clic
我希望这不是家庭作业
(define frame (new frame% [label "game"]
[width 500] [height 500] [alignment '(center center)]))
(new button% [parent frame]
[label "exit"]
; Callback procedure for a button click:
[callback ( )])
因为您已经定义了框架,所以只需在按钮的回调中引用它即可
您甚至可以更进一步,创建一个单独的过程,并将该过程作为回调传递,如下所示:
#lang racket/gui
(define frame (new frame% [label "game"]
[width 500] [height 500] [alignment '(center center)]))
(new button% [parent frame]
[label "exit"]
; Callback procedure for a button click:
[callback (lambda (d e) (send frame show #f))])
因为这将允许您在回调期间发生其他事情。另外,我个人喜欢创建这样一个单独的回调函数,因为我认为它使代码更易于阅读
#lang racket/gui
(define frame (new frame% [label "game"]
[width 500] [height 500] [alignment '(center center)]))
(define thecallback
(lambda (b e)
(send frame show #f)))
(new button% [parent frame]
[label "exit"]
; Callback procedure for a button click:
[callback thecallback])