Ltk:スケールを表示する - lisp-cookbook-ja/common-lisp GitHub Wiki

  • スケール
;;; LTKでスケール

(ql:quickload :ltk)


;; パッケージの作成
(defpackage :ex4-07
  (:use :common-lisp
        :ltk)
  (:export :main))

(in-package :ex4-07)

(defun main ()
  (with-ltk ()
    (wm-title *tk* "Scale TEST")
    (let* (
           (value-label (make-instance 'label
                                       :text "Start!"))

           (scale (make-instance 'scale
                                 :from 0
                                 :to 100
                                 :length 300
                                 :command (lambda (value)
                                            (setf (text value-label) value))))

           (btn-get-label (make-instance 'button
                                         :text "GetScaleValue"
                                         :command (lambda ()
                                                    (format t "ScaleValue is ~a~%" (text value-label)))))
           
           (btn-close (make-instance 'button
                                     :text "Close"
                                     :command (lambda ()
                                                (format t "ボタンを押しました")
                                                (setf *exit-mainloop* t))))
           )
      (pack value-label)
      (pack scale)
      (pack btn-get-label)
      (pack btn-close)
      )))

(main)