有没有办法使用Tcl / TK创建一个下拉工具栏按钮(如MS Word中的粘贴按钮?)。我搜索了很多但没有找到任何内容。任何帮助都会很明显。
答案 0 :(得分:0)
如果我已经了解您正在谈论的Word中的哪个UI元素,那么您可能希望使用menubutton
和menu
,可能还会使用radiobutton
个条目。 (或者可能是ttk::menubutton
和menu
。)现在,如果您正在使用它做一些非常简单的事情,那么您可以使用tk_optionMenu
作为组合这些命令的方法,但这只是一个简单的程序;如果你正在做一些复杂的菜单,可能更容易自己编写,或者至少可以获得tk_optionMenu
的代码并自定义它的工作方式。
tk_optionMenu
的{{3}}不是很长;我将在此处粘贴其非评论部分:
proc ::tk_optionMenu {w varName firstValue args} {
upvar #0 $varName var
if {![info exists var]} {
set var $firstValue
}
menubutton $w -textvariable $varName -indicatoron 1 -menu $w.menu \
-relief raised -highlightthickness 1 -anchor c \
-direction flush
menu $w.menu -tearoff 0
$w.menu add radiobutton -label $firstValue -variable $varName
foreach i $args {
$w.menu add radiobutton -label $i -variable $varName
}
return $w.menu
}
您可能希望关注menubutton
和menu
如何相互关联。 ttk::menubutton
主要是 menubutton
的替代品,除了不同的外观配置选项。