在本文中,我們將學習與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()
輸出:
在單擊刻度工具之前:
單擊刻度線工具後:
相關用法
- wxPython GetToolByPos()用法及代碼示例
- wxPython FindControl()用法及代碼示例
- wxPython wx.StaticText GetLabel()用法及代碼示例
- wxPython wx.ToolBar GetToolState()用法及代碼示例
- wxPython wx.StaticText SetBackgroundColour()用法及代碼示例
- wxPython wx.StaticText SetForegroundColour()用法及代碼示例
- wxPython GetToolPacking()用法及代碼示例
- wxPython GetToolEnabled()用法及代碼示例
- wxPython GetClassDefaultAttributes()用法及代碼示例
- wxPython GetMargins()用法及代碼示例
注:本文由純淨天空篩選整理自RahulSabharwal大神的英文原創作品 wxPython | SetDropdownMenu() function in wx.ToolBar。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。