在通用Lisp中,我使用LTK作为基本窗口。我想要创建一个方形按钮,但事实证明高度是不能改变的。下面是代码的相关部分:
(let ((tile (make-instance 'button
:width 20
:height 20))))我收到一个错误:
Invalid initialization argument:
:HEIGHT
in call for class #<STANDARD-CLASS LTK:BUTTON>.
See also:
The ANSI Standard, Section 7.1.2
[Condition of type INITARG-ERROR]在LTK文档中,高度列为可配置按钮。安装有什么问题吗?还是一个已知的bug?
发布于 2019-03-29 11:41:07
我想它在ltk那边不见了。在Slime中使用M-.,我转到按钮的定义:
(defargs button (widget)
command
compound
default
image
state
textvariable
underline
width)确实没有height,而且它也不是来自widget。
我问nodgui (带有语法、糖和更多元部件的ltk叉),因为维护人员真的很好:https://notabug.org/cage/nodgui/issues/6。
他的回答是:
nodgui只支持使用'ttk‘主题引擎的小部件:
ttk::按钮的文档:
不显示高度参数(如果我错了请纠正我)
(你有没有可能在看https://www.tcl.tk/man/tcl8.6/TkCmd/button.htm?这是小部件的非ttk版本,不支持)
您可能可以使用框架和粘性属性来修改按钮的几何形状(从未尝试过),而且我不知道如何以像素单位指定按钮的大小。
希望这能有所帮助!)
ps:可能需要指出的是,LTK文档在小部件部分已经过时。
需要考虑的其他信息:https://mailman.common-lisp.net/pipermail/ltk-user/2016-June/000625.html
Tcl/Tk最多可达8.4,包括允许设置按钮的字体。从8.5开始,就有了ttk小部件集,它在某种程度上成为ltk的默认设置。ttk小部件集使用主题引擎来确定小部件的许多呈现参数,以实现“本机”外观。这意味着许多较旧的小部件选项被删除。您可以在这里找到小部件的文档:button.htm 如果您将: to 84推到特性上,您将得到旧的样式小部件,否则您当然可以创建/修改ttk主题,这将使您也能够配置字体。有了这样的bug报告,如果您包含有关问题所显示的操作系统的信息、您正在使用的lisp以及在本例中的屏幕截图,也会非常有帮助。
https://stackoverflow.com/questions/53504488
复制相似问题