【问题标题】:racket: detect bitmap label of button (to switch between labels on button click)球拍:检测按钮的位图标签(在按钮单击时在标签之间切换)
【发布时间】:2016-05-21 14:34:02
【问题描述】:

当前代码:

(define test (new button%
   [parent lower_panel]
   [label (make-bitmap-label "" testPic2)]
   [callback (λ (o e)
               (cond
                 ((= label pic) (send test set-label testPic2))
                 ((= label pic) (send test set-label testPic1)) )]
   ))    

而不是 (= label pic) 我需要某种代码来获取当前标签,以便我可以将其切换到备用标签。举个例子就完美了,欢迎任何其他 cmets!在此先感谢:)

【问题讨论】:

    标签: button bitmap label panel racket


    【解决方案1】:

    您可以使用get-label 方法获取按钮标签。

    因此,以您为例(并将标签切换为 "label1" 和 "label2",我们得到:

    #lang racket/gui
    
    (define frame (new frame% [label "Example"]))
    
    (define test (new button%
                      [parent frame]
                      [label "label1"]
                      [callback (λ (o e)
                                  (cond
                                    [(equal? (send test get-label) "label1")
                                     (send test set-label "label2")]
                                    [(equal? (send test get-label) "label2")
                                     (send test set-label "label1")]))]))
    
    (send frame show #t)
    

    这将创建一个带有单个按钮的窗口,当您按下它时,该按钮会在文本 "label1" 和 "label2" 之间交替显示。

    【讨论】:

    • 非常感谢你是我(和我的团队)的救星:')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2021-05-17
    相关资源
    最近更新 更多