Lisp 如何让Ltk显示用户正在编写的内容和函数打印的内容?
函数的类型如下所示:Lisp 如何让Ltk显示用户正在编写的内容和函数打印的内容?,lisp,common-lisp,tcl,tk,ltk,Lisp,Common Lisp,Tcl,Tk,Ltk,函数的类型如下所示: (defun display-all () "Display all items in the database." (dolist (item *database*) (format t "~{~a:~10t~a~%~}~%" item))) (defun prompt-read (prompt) (format *query-io* "~a: " prompt) (force-output *query-io*) (read-line *q
(defun display-all ()
"Display all items in the database."
(dolist (item *database*)
(format t "~{~a:~10t~a~%~}~%" item)))
(defun prompt-read (prompt)
(format *query-io* "~a: " prompt)
(force-output *query-io*)
(read-line *query-io*))
(defun prompt-for-item ()
(make-database
(prompt-read "Name")
(prompt-read "Price")))
我已经阅读了Ltk文档,但似乎没有任何文本小部件的使用示例。您创建的文本小部件与其他小部件一样。Lisp端对象具有
text
accessor函数和writer方法,用于设置Tk端的文本。最简单的例子:
(with-ltk ()
(let* ((text-widget (make-instance 'text :width 15 :height 2))
(b1 (make-instance 'button
:text "Print"
:command #'(lambda () (princ (text text-widget)))))
(b2 (make-instance 'button :text "Reset"
:command #'(lambda () (setf (text text-widget) "reset")))))
(pack text-widget)
(pack b1)
(pack b2)))