2008-11-10 9 views
1

Le genre de fonctions sont du genre de:Comment obtenir Ltk pour afficher ce que l'utilisateur écrit et ce que les fonctions impriment?

(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"))) 

J'ai lu la documentation Ltk, mais il ne semble pas être des exemples d'utilisation du widget texte.

Répondre

3

Vous créez le widget texte comme tous les autres widgets. L'objet Lisp-side a la fonction accesseur text avec la méthode writer qui définit le texte du côté Tk. Exemple minimal:

(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)))