在本文中,我们将学习与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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。