Skip to content
Andrej Vodopivec edited this page Mar 20, 2015 · 5 revisions

Example:

Listbox

(defpackage :tk-user
  (:use :cl :tk)
  (:export :main))

(in-package :tk-user)

(defun main ()
  (with-tk-root (root)
    (let* ((f (frame :parent root))
           (box (listbox :parent f :selectmode "multiple"))
           (var (string-var)))

      (listbox-insert box 0 (list "One" "Two" "Three" "Four" "Five"))

      (pack f :expand t :fill "both")
      (pack box :expand t :fill "both" :padx 2 :pady 2)
      (pack (label :parent f :textvariable var) :padx 2 :pady 2 :fill "x")
      (setf (var-value var) "Selection:")

      (bind-event box "<<ListboxSelect>>"
                  (lambda (ev)
                    (declare (ignore ev))
                    (setf (var-value var)
                          (format nil "Selection: ~{~a~^,~}" (listbox-curselection box))))))))

Functions implemented for listboxes:

  • (listbox-bbox lbox ind)
  • (listbox-activate lbox ind)
  • (listbox-curselection lbox)
  • (listbox-delete lbox first &optional last)
  • (listbox-insert lbox ind elts)
  • (listbox-see lbox ind)
  • (listbox-scan-mark lbox x y)
  • (listobx-scan-dragto lbox x y &optional gain)
  • (listbox-selection-anchor lbox ind)
  • (listbox-selection-clear lbox start &optional end)
  • (listbox-selection-includes lbox ind)
  • (listbox-selection-set lbox start &optional end)
  • (listbox-size lbox)
  • (listbox-xview lbox)
  • (listbox-xview-moveto lbox frac)
  • (listbox-xview-scroll lbox number what)
  • (listbox-yview lbox)
  • (listbox-yview-moveto lbox frac)
  • (listbox-yview-scroll lbox number what)

Events:

  • <<ListboxSelect>>

Tcl/Tk documentation for listbox.

Clone this wiki locally