我在Common 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 documentation中,高度被列为可配置的按钮。安装有问题吗?或者是已知错误或什么?
答案 0 :(得分:3)
根据ch通过configure
函数进行配置。文档的3.14。
答案 1 :(得分:1)
我认为它在ltk方面不见了。在史莱姆中使用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'主题引擎的小部件:
https://www.tcl.tk/man/tcl8.6/TkCmd/ttk_intro.htm
ttk :: button的文档:
https://www.tcl.tk/man/tcl8.6/TkCmd/ttk_button.htm
没有显示高度参数(如果我输入错误,请纠正我)
(您是否有机会查看https://www.tcl.tk/man/tcl8.6/TkCmd/button.htm?这是该小部件的非ttk版本,不支持)
可能您可以使用frame和sticky属性来修改按钮的几何形状(从未尝试过),而且我不知道以像素为单位指定按钮大小的方法。
希望这会有所帮助! :)
ps:可能很重要的一点是要指出LTK文档在小部件中已过时。
要考虑的其他信息:https://mailman.common-lisp.net/pipermail/ltk-user/2016-June/000625.html
Tcl / Tk最高8.4 包括允许设置按钮的字体。从8.5开始 ttk小部件集,在某个时候它成为ltk的默认值。 TTK 小部件集使用主题引擎来确定许多渲染 小部件的参数以实现“本机”外观。这意味着很多 小部件的旧选项已删除。您可以找到文档 此处的小部件:https://www.tcl.tk/man/tcl8.6/TkCmd/ttk_button.htm
如果将:tk84推入功能,则会获得旧样式的小部件,否则 您当然可以创建/修改ttk主题,这应该给您 也可以配置字体。有了这样的错误报告,它也会 如果您包含有关操作系统的信息,将对您有所帮助 问题显示,您正在使用Ltk的Lisp,在这种情况下,屏幕 射击。