3

我正在尝试用 lisp 制作一个通用 lisp 的 GUI 应用程序ltk,但有一件事我无法弄清楚。我知道我可以使用 设置ltk小部件的选项configure,但我无法找到读取值的方法。

例如,我创建了一个画布实例

(make-instance 'canvas :width 400 :height 400)

然后我想写一个在某些计算中使用宽度和高度的方法。我如何访问这些?

4

2 回答 2

2

我在 ltk 用户列表中问过同样的问题并得到了答案。

简而言之,cget 功能是 configure 的对应功能

因此,要设置画布宽度(配置画布:witdh 值)并检索它(cget 画布:宽度)。

问候,

安德烈

于 2011-09-06T14:16:05.643 回答
1
(require :ltk)
(in-package :ltk-user)
(defparameter *can*
 (make-instance 'canvas :width 400 :height 400))

实际上,宽度和高度存储在字符串中。不知道你以后能不能调整一下。也许在 ltk 邮件列表上询问。

#<CANVAS {1005A00C21}>
--------------------
Class: #<STANDARD-CLASS CANVAS>
--------------------
 Group slots by inheritance [ ]
 Sort slots alphabetically  [X]

All Slots:
[ ]  INIT-COMMAND      = "canvas ~A  -height 400 -width 400"
[ ]  MASTER            = NIL
[ ]  NAME              = "wc"
[ ]  SCROLLREGION-X0   = NIL
[ ]  SCROLLREGION-X1   = NIL
[ ]  SCROLLREGION-Y0   = NIL
[ ]  SCROLLREGION-Y1   = NIL
[ ]  WIDGET-CLASS-NAME = "canvas"
[ ]  WIDGET-PATH       = NIL
[ ]  XSCROLL           = NIL
[ ]  YSCROLL           = NIL

[set value]  [make unbound]
于 2011-07-01T14:59:57.293 回答