当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


wxPython wx.ToolBar SetDropdownMenu()用法及代码示例


在本文中,我们将学习与wxPython的wx.ToolBar类关联的SetDropdownMenu()函数。 SetDropdownMenu()函数设置由其ID给出的工具的下拉菜单。工具本身将在不再需要时删除菜单。仅在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()

输出:

代码示例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()

输出:
在单击刻度工具之前:

单击刻度线工具后:




相关用法


注:本文由纯净天空筛选整理自RahulSabharwal大神的英文原创作品 wxPython | SetDropdownMenu() function in wx.ToolBar。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。