wxPython wx.ToolBar中的SetDropdownMenu()函数

wxPython wx.ToolBar中的SetDropdownMenu()函数

在这篇文章中,我们将学习与wxPython的wx.ToolBar类相关的SetDropdownMenu()函数。SetDropdownMenu()函数为给定的工具设置下拉菜单。当不再需要时,工具本身会删除该菜单。只在GTK+和MSW下支持。如果你在你的程序中定义了一个EVT_TOOL_DROPDOWN()处理程序,你必须从它那里调用wx.Event.Skip,否则菜单将不会被显示。

语法

wx.ToolBar.SetDropdownMenu()

参数

参数 输入类型 描述
id int 有关工具的ID,与传递给AddTool的一样。
menu wx.Menu 用于设置特定工具的菜单。

返回类型

bool

代码实例1

import wx
 
class Example(wx.Frame):
 
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs)
        self.InitUI()
 
    def InitUI(self):
        self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
        fileMenu = wx.Menu()
        fileItem = fileMenu.Append(21, 'Menu Item1', 'Item 1')
        fileItem1 = fileMenu.Append(22, 'Menu Item1', 'Item 1')
        fileItem2 = fileMenu.Append(23, 'Menu Item1', 'Item 1')
 
        self.toolbar = self.CreateToolBar()
        td = self.toolbar.AddTool(1, '', wx.Bitmap('menu.png'), kind = wx.ITEM_DROPDOWN)
        # set dropdown menu with tool id 1
        self.toolbar.SetDropdownMenu(id = 1, menu = fileMenu)
        self.toolbar.Realize()
        self.SetSize((350, 250))
        self.SetTitle('Menu tool')
        self.Centre()
 
 
    def OnQuit(self, e):
        self.Close()
 
 
def main():
 
    app = wx.App()
    ex = Example(None)
    ex.Show()
    app.MainLoop()
 
 
if __name__ == '__main__':
    main()

输出:

wxPython wx.ToolBar中的SetDropdownMenu函数

代码示例2

import wx
 
class Example(wx.Frame):
 
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs)
        self.InitUI()
 
    def InitUI(self):
        self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
        self.toolbar = self.CreateToolBar()
        td = self.toolbar.AddTool(1, 'right', wx.Bitmap('right.png'))
        self.toolbar.Realize()
        self.Bind(wx.EVT_TOOL, self.OnOne, td)
 
        self.SetSize((350, 250))
        self.SetTitle('Undo redo')
        self.Centre()
 
    def OnOne(self, e):
        # INSERT A DROPDOWN TOOL IN TOOLBAR
        self.toolbar.InsertTool(pos = 1, toolId = 2, label ='new', bitmap = wx.Bitmap('menu.png'), kind = wx.ITEM_DROPDOWN)
        # MENU TO BE ADDED TO TOOL
        fileMenu = wx.Menu()
        fileItem = fileMenu.Append(21, 'Menu Item1', 'Item 1')
        fileItem1 = fileMenu.Append(22, 'Menu Item1', 'Item 1')
        fileItem2 = fileMenu.Append(23, 'Menu Item1', 'Item 1')
        # SET DROPDOWN MENU
        self.toolbar.SetDropdownMenu(id = 2, menu = fileMenu)
        # Realize() called to finalize new added tools
        self.toolbar.Realize()
 
    def OnQuit(self, e):
 
        self.Close()
 
 
def main():
 
    app = wx.App()
    ex = Example(None)
    ex.Show()
    app.MainLoop()
 
 
if __name__ == '__main__':
    main()

输出:

点击勾选工具前:

wxPython wx.ToolBar中的SetDropdownMenu函数

点击勾选工具后:

wxPython wx.ToolBar中的SetDropdownMenu函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

wxPython 教程