在菜单栏的情况下-sticky的相关性是什么?

时间:2016-07-01 11:37:17

标签: tcl tk

在菜单栏的情况下-sticky的相关性是什么?

在网上看到很多使用-sticky" news"菜单框如下:

frame .t.frmMnu -bd 2 -relief raised
grid config .t.frmMnu -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky "news"

而不是

grid config .t.frmMnu -column 0 -row 0 -columnspan 1 -rowspan 1

当我调整主窗口的大小时,我没有看到任何区别。

2 个答案:

答案 0 :(得分:1)

您没有看到任何差异,因为小部件尚未被告知增长。尝试使用/不使用.gitmodules选项:

-sticky

toplevel .t frame .t.frmMnu -bd 2 -relief raised -width 20 -height 10 grid .t.frmMnu -sticky news grid columnconfigure .t .t.frmMnu -weight 1 grid columnconfigure用于设置网格中列/行的增长率:随着单元格的增长,小部件会挂在他们被告知坚持的边缘上。< / p>

答案 1 :(得分:1)

-sticky值可能设置为该值,因为作者始终使用该值。对于菜单栏,它可能不是一个好的选择,因为您点击弹出菜单的地方通常不会在任何常见的桌面平台上变宽。更好的是使用toplevel的-menu选项安装菜单作为顶层的菜单栏,特别是因为它更便携。

以下是如何制作一个非常简单的File菜单的示例:

toplevel .t
.t configure -menu [menu .t.menubar]
.t.menubar add cascade -label "File" -menu [menu .t.menubar.file]
.t.menubar.file add command -label "Open" -command { doTheOpen }
.t.menubar.file add command -label "Save" -command { doTheSave }
.t.menubar.file add separator
.t.menubar.file add command -label "Quit" -command { doTheQuit }

它缺少诸如下划线,加速器,命令的实现等等。