繁体   English   中英

在Tcl / Tk中如何使用子命令?

[英]How are subcommands used in Tcl/Tk?

在Tcl / Tk在线参考中阅读此条目时 ,我遇到了本段,其中指出:

组合框小部件还支持以下ttk :: entry小部件子命令(有关详细信息,请参见ttk :: entry(n)):

  • BBOX
  • 删除
  • icursor
  • 指数
  • 插入
  • 选择
  • 的xView

我知道在这种情况下,“组合框”小部件部分地由“条目”小部件组成,但是究竟如何使用子命令?

这是常见的Tk命令结构,您将需要它与任何Tk小部件进行交互。 通过将对象的路径名用作基本命令,然后使用所需的子命令来完成小部件的子命令。 例如,

ttk::combobox .cb
.cb insert 0 "my text"

? 显而易见的答案是这样的: ...?, ie you begin the invocation with the pathname to the widget (which is the name of a command which was generated when you created the widget), then the subcommand, then any arguments. ...?,即,您以小部件的路径名(这是创建小部件时生成的命令的名称)开始调用,然后是子命令,然后是任何参数。

但是,我不确定这是否是您要问的。 我想念什么吗?

子命令非常类似于对象系统的方法。 在Tk中的这些示例中,您将对象(小部件)的名称作为一个参数,将方法的名称(子命令)作为下一个参数,以及之后需要的其他任何参数。

如果您点击该手册页上的链接,它将带您到如何使用它们的确切描述。 例如,它说index子命令与ttk :: entry小部件所支持的完全相同 ,然后转到该页面,您将看到:

pathName 索引 索引
返回与index对应的数字索引

索引的定义在页面的上方(我可以接受更好的交叉引用)。

指数

许多条目窗口小部件命令采用一个或多个索引作为参数。 索引通过以下任何一种方式在条目的字符串中指定特定字符:


将字符指定为数字索引,其中0对应于字符串中的第一个字符。

@
在这种形式下, 数字在条目窗口中被视为x坐标; 使用x坐标的字符。 例如,“ @ 0 ”表示窗口中最左边的字符。

结束
指示紧随条目字符串中最后一个字符的字符。 这等效于指定一个数值索引,该数值索引等于条目字符串的长度。

插入
指示与插入光标相邻并紧随其后的字符。

sel.first
指示选择中的第一个字符。 如果所选内容不在输入窗口中,则使用此表单是错误的。

sel.last
表示所选内容中最后一个字符之后的字符。 如果所选内容不在输入窗口中,则使用此表单是错误的。

缩写可用于以上任何形式,例如“ e ”或“ sel.l ”。 通常,超出范围的索引会自动舍入为最接近的合法值。

一般而言,与方法相对应的子命令的见解相对容易应用(并且在Tcl的主要对象系统中直接使用),尽管它对子子命令有点棘手。 实际上,该方法委托给一个内部对象进行调度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM