Racket で GUI を選択し始め、すぐにタブを挿入しました。それが突き合わされた場所です(コードを求めて、欠点を見つけることはあまりありません。Racketを学び始めたばかりです):
#lang racket/gui
(define my-settings-hash (make-hash))
(define my-settings-hash "label" "Test")
(define my-settings-hash "width" 300)
(define my-settings-hash "height" 300)
(define my-tabs-list (list "Tab 0"
"Tab 1"
"Tab 2"))
(define root-wnd (new frame% [label (hash-ref my-settibgs-hash "label")]
[width (hash-ref my-settings-hash "width")]
[height (hash-ref my-settings-hash "height"]))
(define tab-panel (new tab-panel%
(parent root-wnd)
(choices my-tabs-list)
(callback
(lambda (tp e)
(case (send tp get-selection)
((0) (send tp change-children (lambda (children) (list a-panel))))
((1) (send tp change-children (lambda (children) (list b-panel))))
((2) (send tp change-children (lambda (children) (list a-panel)))))))))
(define a-panel (new panel%
(parent tab-panel)
(label "A-panel")))
(define b-panel (new panel%
(parent tab-panel)
(label "b-panel")))
(send frame show #t)
(余分なブラケットがある場合は申し訳ありません)。ここに問題があります - プログラムが 2 つのパネルのメイン ウィンドウで開始されたときですが、スイッチが失われ、1 つだけが残った後でのみです。どこで鈍くする?修正または実際の例を教えていただければ幸いです(ただし、ラケットを非常によく知らず、多かれ少なかれ複雑になるまで理解できないため、「頭」の決定をお願いします)。前もって感謝します!