我正在尝试使用滚动树视图创建一个表,以包含学生的表现,但我未能向其中添加特定列(名称、数学标记、比较标记)。
我尝试了以下代码,但它返回错误
;; test.lisp
(ql:quickload :ltk)
(in-package :ltk)
(with-ltk ()
(let* ((tree (make-instance 'scrolled-treeview :columns '(0 1 2)) ))
; Adding the heading to the column
(treeview-heading tree 0 "Name")
(treeview-heading tree 1 "Math")
(treeview-heading tree 2 "COMP")
; Adding record to the created table.
(treeview-insert tree :values '("Simon Due" "78" "60"))
(treeview-insert tree :values '("Kato Ronald" "80" "90"))
(pack tree)
)
)
我希望返回一个带有两条记录的滚动树视图。 下面是我加载 test.lisp 时遇到的错误
Invalid initializattion argument: :columns
in call for class #<STANDARD-CLASS LTK:SCROLLED-TREEVIEW>
我找不到 Ltk 的示例,但我有一个
nodgui
。
然而,虽然 Ltk 有滚动树视图,但它不支持
:columns
参数。
API 是:
(make-instance 'scrolled-treeview
:columns (list "col1" "col2"))
然后
(treeview-insert-item tree :text "text" :column-values (list "other" "columns"))
参见:
开发人员说明:我发现将 GUI 代码包装在函数中更简单,因为我们可以编译该函数并获取错误和警告,而无需运行 Tk 窗口并获取错误。
这给了我们一个简单的滚动树视图:
#++
(ql:quickload :nodgui)
(in-package :nodgui)
(defun run ()
(with-nodgui ()
(let* ((tree (make-instance 'scrolled-treeview :columns '("col1" "col2")) ))
(treeview-insert-item tree :text "one" :column-values (list "two" "three"))
(pack tree))))
buuuut 这将创建一个包含 3 列的表,“col1”是第 第二 列的名称。我必须解决这个问题。我认为我在一个例子中得到了正确的结果。