在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Menu Item, Menu & MenuBar類
wxPython GUI構(gòu)建工具wxFormBuilder
wxPython StaticText類
WxPython教程
wxPython可??看翱?/span>
wxPython ComboBox & Choice類
wxPython FlexiGridSizer布局
wxPython入門(mén)(Hello World)
wxPython RadioButton & RadioBox類
wxPython拖放
wxPython HTMLWindow類
wxPython ToolBar類
wxPython GridBagSizer布局
wxPython Dialog類
wxPython布局管理
wxPython TextCtrl類
wxPython開(kāi)發(fā)環(huán)境安裝
wxPython Slider類
wxPython CheckBox類
wxPython Major類
wxPython GridSizer布局
wxPython事件處理
wxPython SplitterWindow類
Menu Item, Menu & MenuBar類
wxPython Button控件
wxPython StaticBoxSizer布局
wxPython Guage類
wxPython Frame類
wxPython多文檔界面
wxPython Panel類
wxPython BoxSizer布局
wxPython繪圖API

Menu Item, Menu & MenuBar類

正下方頂層窗口的標(biāo)題欄中保留了一個(gè)水平條,以顯示一系列菜單。 這就是 wx.MenuBar 類在 wxPython 中 API 的對(duì)象。

wx.Menu類的一個(gè)對(duì)象被添加到菜單欄。它也用于創(chuàng)建上下文菜單和彈出菜單。每個(gè)菜單可以包含一個(gè)或多個(gè)wx.MenuItem對(duì)象或級(jí)聯(lián)Menu對(duì)象。

wx.MenuBar類有一個(gè)參數(shù)的構(gòu)造函數(shù),此外還有一個(gè)默認(rèn)的。
wx.MenuBar()  

wx.MenuBar(n, menus, titles, style) 

參數(shù)“n”表示的菜單的數(shù)目。Menu是菜單和標(biāo)題的數(shù)組和字符串?dāng)?shù)組。如果style參數(shù)設(shè)置為wx.MB_DOCKABLE,菜單欄可以???。

以下是wx.MenuBar類的方法列表 -
S.N.
方法和說(shuō)明
1

Append()

添加菜單對(duì)象到工具欄
2

Check()

選中或取消選中菜單
3

Enable()

啟用或禁用菜單
4

Remove()

去除工具欄中的菜單
wx.Menu類對(duì)象是一個(gè)或多個(gè)菜單項(xiàng),其中一個(gè)可被用戶選擇的下拉列表。
下表顯示了wx.Menu類經(jīng)常需要的方法-
S.N.
方法和說(shuō)明
1

Append()

在菜單增加了一個(gè)菜單項(xiàng)
2

AppendMenu()

追加一個(gè)子菜單
3

AppendRadioItem()

追加可選當(dāng)選項(xiàng)
4

AppendCheckItem()

追加一個(gè)可檢查的菜單項(xiàng)
5

AppendSeparator()

添加一個(gè)分隔線
6

Insert()

在給定的位置插入一個(gè)新的菜單
7

InsertRadioItem()

在給定位置插入單選項(xiàng)
8

InsertCheckItem()

在給定位置插入新的檢查項(xiàng)
9

InsertSeparator()

插入分隔行
10

Remove()

從菜單中刪除一個(gè)項(xiàng)
11

GetMenuItems()

返回菜單項(xiàng)列表
一個(gè)菜單項(xiàng)目,可直接使用 Append() 函數(shù)添加,或 wx.MenuItem 類的一個(gè)對(duì)象被追加。
wx.Menu.Append(id, text, kind)
  
Item = Wx.MenuItem(parentmenu, id, text, kind) 
wx.Menu.Append(Item)
要定義一個(gè)菜單項(xiàng),菜單要被添加必須提及。
wxPython中有大量的標(biāo)準(zhǔn)的ID被分配給標(biāo)準(zhǔn)菜單項(xiàng)。在某些操作系統(tǒng)平臺(tái)上,它們與標(biāo)準(zhǔn)圖標(biāo)也關(guān)聯(lián)。
wx.ID_SEPARATOR
wx.ID_ANY
wx.ID_OPEN
wx.ID_CLOSE
wx.ID_NEW
wx.ID_SAVE
wx.ID_SAVEAS
wx.ID_EDIT
wx.ID_CUT
wx.ID_COPY
wx.ID_PASTE
然而,任何獨(dú)一無(wú)二的整數(shù)可以被分配 ID。text參數(shù)是它的標(biāo)題。類參數(shù)采用以下之一-
S.N. 參數(shù) & 描述
1

wx.ITEM_NORMAL

普通菜單項(xiàng)
2

wx.ITEM_CHECK

檢查(或切換)菜單項(xiàng)
3

wx.ITEM_RADIO

單選菜單項(xiàng)
wx.Menu類也有 AppendRadioItem()和 AppendCheckItem()不需要各種參數(shù)。
菜單項(xiàng)可以設(shè)置為顯示圖標(biāo)或快捷方式。 wx.MenuItem類SetBitmap()函數(shù)需要要顯示的位圖對(duì)象。
wx.MenuItem.SetBitmap(wx.Bitmap(image file))
EVT_MENU事件綁定有助于處理菜單選擇。
self.Bind(wx.EVT_MENU, self.menuhandler)

實(shí)例

下面的例子演示了wxPython的上述大部分的菜單系統(tǒng)的特征。它顯示在菜單欄中顯示一個(gè)文件菜單。普通菜單項(xiàng),子菜單,單選項(xiàng)和檢查項(xiàng)加入。菜單項(xiàng)也帶有一個(gè)圖標(biāo)顯示。

事件處理函數(shù),當(dāng)被調(diào)用時(shí)檢索與事件關(guān)聯(lián)的ID,并且可以進(jìn)一步處理。例如,如果“新建”菜單項(xiàng)被選中,這是回顯示在框架(frame)上的文本框中。
Menu.py 完整的代碼如下 -
import wx  

class Mywin(wx.Frame): 
            
   def __init__(self, parent, title): 
      super(Mywin, self).__init__(parent, title = title, size = (400,300))  
      self.InitUI() 
         
   def InitUI(self):    
      menubar = wx.MenuBar() 
		
      fileMenu = wx.Menu() 
      newitem = wx.MenuItem(fileMenu,wx.ID_NEW, text = "New",kind = wx.ITEM_NORMAL) 
      newitem.SetBitmap(wx.Bitmap("new.bmp")) 
      fileMenu.AppendItem(newitem) 
		
      fileMenu.AppendSeparator()
		
      editMenu = wx.Menu() 
      copyItem = wx.MenuItem(editMenu, 100,text = "copy",kind = wx.ITEM_NORMAL)
      copyItem.SetBitmap(wx.Bitmap("copy.bmp")) 
		
      editMenu.AppendItem(copyItem) 
      cutItem = wx.MenuItem(editMenu, 101,text = "cut",kind = wx.ITEM_NORMAL) 
      cutItem.SetBitmap(wx.Bitmap("cut.bmp")) 
		
      editMenu.AppendItem(cutItem) 
      pasteItem = wx.MenuItem(editMenu, 102,text = "paste",kind = wx.ITEM_NORMAL) 
      pasteItem.SetBitmap(wx.Bitmap("paste.bmp")) 
		
      editMenu.AppendItem(pasteItem) 
      fileMenu.AppendMenu(wx.ID_ANY, "Edit", editMenu) 
      fileMenu.AppendSeparator() 
         
      radio1 = wx.MenuItem(fileMenu, 200,text = "Radio1",kind = wx.ITEM_RADIO) 
      radio2 = wx.MenuItem(fileMenu, 300,text = "radio2",kind = wx.ITEM_RADIO) 
		
      fileMenu.AppendItem(radio1) 
      fileMenu.AppendItem(radio2) 
      fileMenu.AppendSeparator() 
         
      fileMenu.AppendCheckItem(103,"Checkable") 
      quit = wx.MenuItem(fileMenu, wx.ID_EXIT, '&Quit\tCtrl+Q') 
		
      fileMenu.AppendItem(quit) 
      menubar.Append(fileMenu, '&File') 
		
      self.SetMenuBar(menubar) 
      self.text = wx.TextCtrl(self,-1, style = wx.EXPAND|wx.TE_MULTILINE) 
      self.Bind(wx.EVT_MENU, self.menuhandler) 
      self.SetSize((350, 250)) 
      self.Centre() 
      self.Show(True)
		
   def menuhandler(self, event): 
      id = event.GetId() 
      if id == wx.ID_NEW: 
         self.text.AppendText("new"+"\n")
			
ex = wx.App() 
Mywin(None,'MenuBar Demo - yiibai.com') 
ex.MainLoop() 

上面的代碼產(chǎn)生下面的輸出 -