common-lisp - LTK Scrolled Frame 滚动条未调整大小
问题描述
由于缺少文档,有时甚至是不正确的文档,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
解决方案
我相信其他人也会遇到同样的问题。答案是使用以下(内部 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))))
推荐阅读
- python - 我的 Discord Python 机器人没有发送表情符号
- python - 将字符串分割为 n 个字符的 for 循环
- azure - B2C 自定义策略:在登录页面添加取消按钮
- typescript - 基于接口静态属性的类型
- docker - docker-compose,让 go api 和 nginx 通信。端口问题
- c# - 如何在多个线程中并行处理文件中的数据并将它们写入另一个文件,同时保持原始数据顺序(C#)
- swift - 如何在 Vapor 3 中保存带有孩子的模型并将保存的带有孩子的模型作为响应
- sql - Oracle 递归到 SQL Server?
- laravel - 尝试通过 Laravel 上的字符串访问图像
- angular - 如何使用带有 http 响应的异步等待