當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。