这一篇我将介绍如何使用菜单组件。菜单栏将各种功能菜单归类集中在一起,方便功能查找和使用。组成菜单的条目有radiobutton、command、checkbutton、separator共四种。
如何实现类似于hypermesh这样的菜单栏呢?下面将试图实现这一功能!
本文代码参考了《tcl/tk入门经典》第二版,这是tcl/tk入门的必看书籍。不过没看过也不要紧,跟着仿真社的脚步,你将会快速学到用于hypermesh二次开发的tcl/tk内容,事半功倍。直接看一段代码:
#createMenuGUI
option add *Menu.tearfoff 0
set w [menu .w]
. configure -menu $w
wm geometry . 400x300
$w add cascade -label File -menu $w.file -underline 0
$w add cascade -label Edit -menu $w.edit -underline 0
$w add cascade -label View -menu $w.edit -underline 0
$w add cascade -label Collectors -menu $w.collector -underline 0
set wf [menu $w.file]
$wf add cascade -label New -menu $wf.new -underline 5
$wf add cascade -label Open -menu $wf.open -underline 5
$wf add cascade -label "Save as" -menu $wf.sas -underline 5
$wf add separator
$wf add command -label Eixt -command exit
运行上面这段代码,我们得到了如下所示的界面。
tearoff支持分离功能,启用该功能时,一个特殊的分隔符会显示在第一个选项。通过脚本命令来实现:
option add *Menu.tearfoff 0
separator显示一条用于装饰的水平线,可将同一菜单下不同类型的菜单条目分隔开。
主菜单和子菜单的关联是通过cascade来实现,正如上述代码所示。