娄底建设网站的公司,七牛云cdn加速wordpress,设计素材网站p,商业网站制作15. 小部件Menu “下拉菜单”是一种流行的方式 为用户提供多种选择#xff0c;但占用 应用程序表面的最小空间#xff0c;当 用户没有做出选择。 菜单按钮是 始终显示在应用程序上。 菜单是选项列表 仅在用户单击 菜单按钮。 要选择一个选项#xff0c;用户可以将鼠标从 菜… 15. 小部件Menu “下拉菜单”是一种流行的方式 为用户提供多种选择但占用 应用程序表面的最小空间当 用户没有做出选择。 菜单按钮是 始终显示在应用程序上。 菜单是选项列表 仅在用户单击 菜单按钮。 要选择一个选项用户可以将鼠标从 菜单按钮向下转到其中一个选项。 或者他们可以单击并释放 菜单按钮选项将出现并保留到 用户单击其中一个。 Unix版本的Tkinter至少支持。 “撕下菜单。”如果你作为设计师 希望如此选项上方将出现一条虚线。 用户可以单击此行以“撕裂 关闭“菜单新的、独立的、独立的 窗口出现其中包含选项。 请参阅下面的第 16 节 “菜单按钮小部件”了解如何 创建一个菜单按钮并将其连接到菜单小部件。第一 让我们看一下小部件它 显示选项列表。Menu 菜单上显示的选项可以是以下任何内容 一个简单的命令一个文本字符串或图像即 用户可以选择执行某些操作。 级联文本字符串或 用户可以选择以显示另一个整体的图像 菜单选择。 复选按钮请参见第 9 节 “复选按钮小部件”。 一组单选按钮请参见第 20 节 “单选按钮小部件”。 要创建一个菜单小部件您必须首先创建一个 我们将它称为Menubuttonmb
w tk.Menu(mb,option, ...)此构造函数返回新小部件。选项包括Menu 表 23.菜单小部件选项 activebackground将显示在选项上的背景色 当它在鼠标下方时。请参见第 5.3 节 “颜色”。activeborderwidth指定围绕 选择何时在鼠标下方。默认值为 1 像素。有关可能的值请参见第 5.1 节 “维度”。activeforeground当选项位于 鼠。bg或background不在鼠标下方的选项的背景色。bd或borderwidth所有选择周围的边框宽度;请参见第 5.1 节 “尺寸”。默认值为 像素。cursor鼠标悬停在 选择但仅当菜单被撕掉时。 请参见第 5.8 节 “游标”。disabledforeground文本的颜色 对于其为 的项目。statetk.DISABLEDfont文本选择的默认字体。请参见第 5.4 节 “键入字体”。fg或foreground用于不在鼠标下方的选项的前景色。postcommand您可以将此选项设置为过程并且 每次有人带来时都会调用程序 上此菜单。relief菜单的默认三维效果为 。有关其他选项请参见第 3.5 节 “浮雕样式”。relieftk.RAISEDselectcolor指定在复选框和单选按钮中显示的颜色 被选中。tearoff通常菜单可以被撕掉第一个 选项列表中的位置位置 0是 被撕下元件占据并且 从位置开始添加其他选项 1.如果设置菜单 不会有撕掉功能选择会 从位置 0 开始添加。tearoff0tearoffcommand如果您希望程序在以下情况下收到通知 用户单击菜单中的撕下条目 将此选项设置为您的过程。这将是 使用两个参数调用窗口 ID 父窗口和新窗口的窗口 ID 撕下菜单的根窗口。title通常撕下菜单窗口的标题将 与菜单按钮的文本相同或 级联通向此菜单。如果你愿意 更改该窗口的标题将选项设置为该字符串。title 这些方法可用于对象。 在菜单上创建选项的人有自己的选择 特定选项;请参见第 15.1 节 “菜单项创建 coption 选项”。Menu .add(kind, coption, ...) 添加给定的新元素作为下一个可用元素 此菜单中的选项。参数可以是 、、 或 中的任何一个。根据参数此方法是 等效于 、 等;指 这些方法在下面了解详细信息。kindkindcascadecheckbuttoncommandradiobuttonseparatorkind.add_cascade().add_checkbutton() .add_cascade(coption, ...) 添加新的级联元素作为下一个可用元素 此菜单中的选项。使用此调用中的选项 将级联连接到下一级的菜单一个 类型的对象。menuMenu .add_checkbutton(coption, ...) 添加新的复选框作为下一个可用选项 自我。这些选项允许您设置 复选框与设置复选框对象的方式大致相同;请参见第 15.1 节 “菜单项创建 coption 选项”。 .add_command(coption, ...) 添加新命令作为下一个可用选项 自我。使用 、 或 选项可以 在菜单上放置文本或图像;使用该选项将此选项连接到 当此选项为 拿。labelbitmapimagecommand .add_radiobutton(coption, ...) 添加新的单选按钮作为下一个可用选项 自我。这些选项允许您设置单选按钮 与设置对象的方式大致相同;请参见第 20 节 “单选按钮小部件”。Radiobutton .add_separator() 在当前定义的最后一个分隔符之后添加分隔符 选择。这只是一条规则水平线你可以 用于设置选项组。分隔符是 算作选择所以如果你已经有三个 选择并添加分隔符分隔符将 占据位置 3从 0 开始计算。 .delete(index1, index2None) 此方法删除从 到 、 中编号的选项。 包容。要删除一个选项请省略该参数。 您无法使用此方法删除撕下的内容 选择但您可以通过设置菜单来做到这一点 对象的撕下选项为 0。index1index2index2 .entrycget(index, coption) 要检索某个选项的当前值以供选择 调用此方法设置为 该选择的索引并设置为 所需选项的名称。indexcoption .entryconfigure(index, coption, ...) 要更改某个选项的当前值 调用此方法设置为 该选择的索引以及一个或多个参数。indexcoptionvalue .index(i) 返回由索引 指定的选项的位置。为 例如您可以使用 查找最后一个选项的索引或者如果没有选项。i.index(tk.END)None .insert_cascade(index, coption, ...) 在 给出的位置插入一个新的级联计数 从 0.该位置之后的任何选择都会向下移动 一。选项与上面的 相同。index.add_cascade() .insert_checkbutton(index, coption, ...) 在索引指定的位置插入一个新的复选按钮。选项是 与上面的 相同。.add_checkbutton() .insert_command(index, coption, ...) 在位置插入一个新命令。选项 与 相同 以上。index.add_command() .insert_radiobutton(index, coption, ...) 在位置插入一个新的单选按钮。选项 与上面的 相同。index.add_radiobutton() .insert_separator(index) 在 指定的位置插入新的分隔符。index .invoke(index) 调用关联的回调 在位置选择.如果 复选框其状态在设置和之间切换 清除;如果是单选按钮则设置该选择。commandindex .post(x, y) 在相对于根窗口的位置显示此菜单。(x, y) .type(index) 返回由 指定的选项的类型 、、、、 或 。indextk.CASCADEtk.CHECKBUTTONtk.COMMANDtk.RADIOBUTTONtk.SEPARATORtk.TEAROFF .yposition(n) 对于菜单选项返回以像素为单位的垂直偏移量 相对于菜单的顶部。这样做的目的 方法是允许您放置弹出菜单 精确地相对于当前鼠标位置。nth 15.1. 项目创建 选项Menucoption 只要上述菜单方法允许 您就可以将值应用于任何 下面的选项名称方法是使用选项名称作为关键字 具有所需值的参数。例如要使 命令的文本以红色字母显示请使用 “” 作为方法调用的选项。coptionforegroundredadd_command 表 24.菜单项选项值 accelerator在右侧显示“”击键组合 菜单选项使用选项 “” 其中是包含 要显示的字符。例如到 指示命令将 Control-X 作为其加速器请使用 选项 “”。请注意此选项不会 实际实施加速器;使用 击键绑定来执行此操作。acceleratoracceleratorssaccelerator^Xactivebackground用于选择时的背景色 在鼠标下方。activeforeground用于选择的前景色 在鼠标下方。background用于选择时的背景色 不在鼠标下方。 请注意这不能 缩写为 。bgbitmap显示此选项的位图;请参见第 5.7 节 “位图”。columnbreak通常所有选项都显示在一个选项中 长列。如果设置 则此选项将启动 包含 以前的选择。columnbreak1columnbreak使用选项 “” 开始新的选项列 这个选择。columnbreakTruecommand当此选择是 激活。compound如果要同时显示文本和图形 位图或图像在菜单选项上 使用此选项指定 图形相对于文本的位置。 值可以是 、 、 、 或 中的任何一个。例如值 “”会 将图形放在文本上方。coptiontk.LEFTtk.RIGHTtk.TOPtk.BOTTOMtk.CENTERtk.NONEcompoundtk.TOPfont用于呈现文本的字体。请参见第 5.4 节 “类型字体”labelforeground用于选择的前景色 当它们不在 鼠。请注意这不能缩写为 。fghidemargin默认情况下较小的边距分隔相邻的 菜单中的选项。使用“” 以抑制此边距。例如如果您的 选择是调色板上的颜色样本这 选项将使色板接触没有任何 其他中间颜色。coptionhidemarginTrueimage显示此选项的图像;请参见第 5.9 节 “图像”。label要为此选项显示的文本字符串。menu此选项仅用于级联选择。 将其设置为一个对象 显示下一级选择。Menuoffvalue通常复选框的控制变量 设置为 当复选按钮 已关闭。您可以通过设置 此选项为所需值。请参见第 52 节 “控制变量小部件背后的值”。0onvalue通常复选框的控制变量 设置为 当复选按钮 已打开。您可以通过设置 此选项为所需值。1selectcolor通常颜色显示在一组中 复选按钮或单选按钮为红色。改变它 通过将此选项设置为颜色来着色 要;请参见第 5.3 节 “颜色”。selectimage如果您正在使用该选项 在菜单上显示图形而不是文本 单选按钮或复选按钮如果使用 则当项目为 选择。imageselectimageIIstate通常所有选择都会对鼠标单击做出反应但是 您可以设置为灰色 它出来并使其无响应。这将是鼠标悬停在选择上时。statetk.DISABLEDcoptiontk.ACTIVEunderline通常其中没有字母带有下划线。设置此选项 到字母的索引以强调 信。labelvalue指定关联控件的值 变量请参见第 52 节 “控制变量小部件后面的值”用于单选按钮。 如果控制变量为 一个 或一个字符串如果 控制变量为 .IntVarStringVarvariable对于复选按钮或单选按钮此选项 应设置为关联的控制变量 带有复选按钮或单选按钮组。 请参见第 52 节 “控制变量小部件背后的值”。 15.2. 顶级菜单 特别是在MacOS下有时需要 创建显示为顶级菜单的菜单 窗。为此请按照下列步骤操作。 使用任何小部件使用该方法获取顶级窗口。WW.winfo_toplevel() 创建小部件使用 顶级窗口作为第一个参数。Menu 添加到此微件的项目 将显示在应用程序的顶部。Menu 下面是一个简短的示例。假设它是应用程序实例一个类的实例 继承自 。此代码将 创建名为“帮助”的顶级菜单选项其中包含一个名为 “关于”那叫 名为 的处理程序selfFrameself.__aboutHandler
top self.winfo_toplevel()self.menuBar tk.Menu(top)top[menu] self.menuBarself.subMenu tk.Menu(self.menuBar)self.menuBar.add_cascade(labelHelp, menuself.subMenu)self.subMenu.add_command(labelAbout, commandself.__aboutHandler)行为会有一些变化具体取决于您的 平台。 在 Windows 或 Unix 系统下顶级菜单 选项显示在应用程序主节点的顶部 窗。 在 MacOS X 下顶级菜单选项显示在 应用程序处于活动状态时的屏幕顶部 就在Mac用户希望看到它们的地方。 您必须使用该方法 对于顶部菜单栏上所需的所有项目。 对 、 或的调用将被忽略。.add_cascade().add_checkbutton().add_command().add_radiobutton() 16. 小部件Menubutton 菜单按钮是下拉菜单中保持打开状态的一部分 屏幕一直。每个菜单按钮都是关联的 带有一个小部件见上文可以 显示该菜单的选项按钮当用户 点击它。Menu 要在根窗口或框架中创建菜单按钮parent
w tk.Menubutton( parent , option , ...)
构造函数返回新小部件。选项Menubutton 表 25.菜单按钮小部件选项 activebackground鼠标悬停在 菜单按钮。请参见第 5.3 节 “颜色”。activeforeground鼠标悬停在菜单按钮上时的前景色。anchor此选项控制文本的位置 如果小部件的空间大于文本需要的空间。 缺省值为 这 使文本居中。有关其他选项请参见第 5.5 节 “锚点”。例如如果使用 则文本将居中 靠在小部件的左侧。anchortk.CENTERanchortk.Wbg或background鼠标不在菜单按钮上时的背景色。bitmap要在菜单按钮上显示位图请设置此项 位图名称选项;请参见第 5.7 节 “位图”。bd或borderwidth菜单按钮周围的边框宽度。违约 是两个像素。有关可能的值请参见第 5.1 节 “维度”。compound如果同时指定文本和图形 位图或图像此选项指定位置 图形相对于文本显示。可能 值为 默认值、、、、 和 。例如将定位图形 在文本的右侧。如果指定 则显示图形 但如果有的话不是。tk.NONEtk.TOPtk.BOTTOMtk.LEFTtk.RIGHTtk.CENTERcompoundtk.RIGHTcompoundtk.NONEtextcursor鼠标悬停在此位置上时出现的光标 菜单按钮。请参见第 5.8 节 “游标”。direction通常菜单将显示在 菜单按钮。设置为 在按钮左侧显示菜单;用于显示菜单 在按钮的右侧;或用于放置上面的菜单 按钮。directiontk.LEFTdirectiontk.RIGHTdirectionabovedisabledforeground禁用此菜单按钮时显示的前景色。fg或foreground鼠标不在菜单按钮上时的前景色。font指定用于显示 ;请参见第 5.4 节 “键入字体”。textheight菜单按钮的高度以文本行为单位不是像素 默认设置是使菜单按钮的大小适合其 内容。highlightbackground焦点的颜色 当小组件没有焦点时突出显示。请参见第 53 节 “焦点路由键盘输入”。highlightcolor颜色显示在 当小组件具有焦点时焦点突出显示。highlightthickness焦点突出显示的厚度。image要在此菜单上显示图像按钮请设置此 图像对象的选项。请参见第 5.9 节 “图像”。justify此选项控制文本在以下情况下的位置 文本未填充菜单按钮用于左对齐文本 这是默认值;用于居中或右对齐。justifytk.LEFTjustifytk.CENTERjustifytk.RIGHTmenu要将菜单按钮与一组选项相关联 将此选项设置为对象 包含这些选择。该菜单对象必须 已通过传递关联的 菜单按钮作为构造函数的第一个 论点。有关显示如何 关联菜单按钮和菜单。Menupadx在左右边留多少空间 菜单按钮的文本。默认值为 1。pady在文本上方和下方留出多少空间 菜单按钮。默认值为 1。relief通常菜单按钮将具有外观。有关其他 3-D 效果请参见第 5.6 节 “浮雕样式”。tk.RAISEDstate通常菜单按钮响应鼠标。设置为灰显 菜单按钮并使其无响应。statetk.DISABLEDtakefocus通常菜单按钮不占用键盘焦点 请参见第 53 节 “焦点路由键盘输入”。用于将菜单按钮添加到 焦点遍历顺序。takefocusTruetext要在菜单按钮上显示文本请设置此选项 到包含所需文本的字符串。 字符串中的换行符 将导致换行符。\ntextvariable您可以将类的控制变量与此菜单按钮相关联。设置 该控制变量将更改显示的 发短信。请参见第 52 节 “控制变量小部件背后的值”。StringVarunderline通常在 上的文本下方不显示下划线 菜单按钮。为其中一个下划线 字符将此选项设置为该 字符。width菜单按钮的宽度以字符为单位不是像素如果 未设置此选项标签的大小将调整为 适合其内容。wraplength通常行不会换行。您可以设置此项 选项为多个字符所有行都将 被分成不超过该数字的碎片。 下面是一个简短的示例显示了 菜单按钮及其带有两个复选框的关联菜单 self.mb tk.Menubutton(self, textcondiments,reliefRAISED)self.mb.grid()self.mb.menu tk.Menu(self.mb, tearoff0)self.mb[menu] self.mb.menuself.mayoVar tk.IntVar()self.ketchVar tk.IntVar()self.mb.menu.add_checkbutton(labelmayo,variableself.mayoVar)self.mb.menu.add_checkbutton(labelketchup,variableself.ketchVar)
本示例创建一个标有 的菜单按钮。单击时两个标记和的复选按钮将下拉。condimentsmayoketchup