A pane containing a group of buttons.
capi
The class push-button-panel inherits all of its behavior from button-panel, which itself inherits most of its behavior from choice. Thus, the push button panel can accept items, callbacks, and so on.
(defun test-callback (data interface)
       (capi:display-message 
                         "Pressed ~S" data))
(capi:contain (make-instance 'capi:push-button-panel
                              :title "Press a button:"
                              :items 
                                '("Press Me" "No, Me")
                              :selection-callback 
                                'test-callback))
(capi:contain (make-instance 'capi:push-button-panel
                              :title "Press a button:"
                              :items 
                                '("Press Me" "No, Me")
                              :selection-callback
                                'test-callback
                              :layout-class 
                                'capi:column-layout))
(capi:contain (make-instance 'capi:push-button-panel
                               :title "Press a button:"
                               :items '(1 2 3 4 5 6 7 8 9)
                               :selection-callback 
                                 'test-callback
                               :layout-class 
                                 'capi:grid-layout
                               :layout-args 
                                 '(:columns 3)))
There is a further example here:
(example-edit-file "capi/buttons/buttons")
push-button
radio-button-panel
check-button-panel
5 Choices - panes with items
CAPI User Guide and Reference Manual (Unix version) - 01 Dec 2021 19:32:42