는 (이 항상 나를 위해 잘 작동) 틸튼의 Cells이기 때문에, 내 의견, GUI 코드를 작성에 좋은 접근 방식, Cells-Gtk 좋아도 오전 LTK을 언급했다. (여전히 LTK는 시작하기가 더 쉬울 수도 있습니다.)
예를 들어 Cells-Gtk로 시작했을 때 작성한 매우 간단한 화씨/섭씨 (및 그 반대) 변환기에 대한 코드는 다음과 같습니다. 하나 개의 입력 필드의 값을 변경하고 다른 하나는 실시간으로 업데이트됩니다 - 그런에는 "계산"버튼 또는 무언가가 없습니다
(defun fahrenheit->celsius (fahrenheit/string)
(princ-to-string (handler-case
(* (- (read-from-string fahrenheit/string nil) 32) 5/9)
(error() "NaN"))))
(defun celsius->fahrenheit (celsius/string)
(princ-to-string (handler-case
(+ (* (read-from-string celsius/string nil) 9/5) 32)
(error() "NaN"))))
(defmd celsius-fahrenheit-converter (gtk-app)
:title "°C <-> °F"
:position :center
:kids
(kids-list?
(mk-vbox
:kids
(kids-list?
(mk-hbox
:kids
(kids-list?
(mk-entry :md-name :celsius
:init "0"
:text (c? (fahrenheit->celsius (widget-value :fahrenheit))))
(mk-label :text "°C")))
(mk-hbox
:kids
(kids-list?
(mk-entry :md-name :fahrenheit
:text (c? (celsius->fahrenheit (widget-value :celsius))))
(mk-label :text "°F")))))))
. 당신이 볼 수 있듯이, 세포 인 타이틀 위젯의 상태 변경을 처리 - 오직 올바른 "배관"을 부여해야합니다.
(이 코드는 몇 살이고, 나는 ATM 테스트 할 세포-의 GTK이 설치되어있는,하지만 내가 쓴 때 제대로 작동하는 데 사용됩니다.)
'CL의 GUI 툴킷에 대한 웹 검색 '는 여러 차례 나타날 것으로 보이므로 타당성이 보장된다고 생각한다. – phils