事实证明,Ltk非常令人沮丧,原因是缺少文档,有时甚至是不正确的文档。 (您会发现按钮样式选项不起作用)
我正在尝试制作一个包含NxN个许多按钮的简单滚动框架。 不幸的是,滚动条似乎从未“得到它”。 当您在容器中推入过多物品时,它会自动提供滚动机制,这似乎是毫无道理的。我们已经在TUI和GUI中进行了很长一段时间。
谁能修复下面给出的代码?如果您能弄清楚如何为按钮上的多种颜色着色,则可以加分。
<code>
(defun run-demo ()
(with-ltk ()
(wm-title *tk* "NxN Button Tray")
(set-geometry *tk* 480 320 0 0)
(let* ((sw (make-instance 'scrolled-frame :master *tk*)))
(dotimes (y 20)
(dotimes (x 20)
(let* ((b (make-instance 'button
:master (canvas sw)
:text (format nil "(~a,~a)" x y))))
(grid b x y))))
(pack sw))))
</code>
这是问题的屏幕截图。滚动条拒绝看到其内部小部件需要滚动。
非常感谢您对此大加赞赏。 真诚的 Pixel_Outlaw
答案 0 :(得分:2)
我确定其他人也会遇到同样的问题。 答案是使用以下(内部w)访问器。 我只能通过浏览邮件列表的档案来找到它。 陪审团仍然没有参加配色方案。
(defun run-demo ()
(with-ltk ()
(wm-title *tk* "NxN Button Tray")
(set-geometry *tk* 480 320 0 0)
(let* ((sw (make-instance 'scrolled-frame :master *tk*)))
(dotimes (y 20)
(dotimes (x 20)
(let* ((b (make-instance 'button
:master (interior sw) ;push inside here!
:text (format nil "(~a,~a)" x y))))
(grid b x y))))
(pack sw))))