MenuBar(1)

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"
 creationComplete="init()">
   
    <mx:Script>
        <![CDATA[
            import mx.events.MenuEvent;
            import mx.events.ItemClickEvent;
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;
            [Bindable]
            private var ac:ArrayCollection;
            private function init():void{
                var temp:Array=new Array();
                var subNodes:ArrayCollection=new ArrayCollection([{label:"New"},
                 {label:"Open"},{label:"Close",enabled:false}]);
                temp.push({label:"File",children:subNodes});
                temp.push({label:"Edit"});
                temp.push({label:"Source"});
                subNodes=new ArrayCollection([{label:"50%",type:"radio",groupName:"one"},
                 {label:"100%",type:"radio",groupName:"one",selected:true},
                 {label:"150%",type:"radio",groupName:"one"}]);
                temp.push({label:"View",children:subNodes});
                ac=new ArrayCollection(temp);
            }
           
            private function editMenu():void{
                var itemToEdit:Object;
                try{
                    itemToEdit=ac.getItemAt(int(menuIdx.text));
                    if(subMenuIdx.text){
                        itemToEdit=itemToEdit.children.getItemAt(int(subMenuIdx.text));
                    }
                    itemToEdit.label=lab.text;
                    ac.itemUpdated(itemToEdit);
                }catch(ex:Error){
                    Alert.show("wrong");
                }
            }
           
            private function handleMenuClick(event:MenuEvent):void{
                Alert.show(event.item.label+"被选中了");
            }
           
        ]]>
    </mx:Script>
   
    <mx:MenuBar dataProvider="{ac}" itemClick="handleMenuClick(event)"/>
    <mx:Form x="10" y="78" height="100%" width="100%">
        <mx:FormHeading label="Menu Editor"/>
        <mx:FormItem label="Menu Index">
            <mx:TextInput id="menuIdx" restrict="0-9" text="0"/>
        </mx:FormItem>
        <mx:FormItem label="Sub-Menu Index">
            <mx:TextInput id="subMenuIdx" restrict="0-9"/>
        </mx:FormItem>
        <mx:FormItem label="Menu Label">
            <mx:TextInput id="lab"/>
        </mx:FormItem>
        <mx:FormItem>
            <mx:Button label="Edit" click="editMenu()"/>
        </mx:FormItem>
    </mx:Form>
</mx:Canvas>

import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "多个菜单栏不同菜单界面的切换", size=(800, 600)) self.panel = wx.Panel(self) self.createMenuBar1() self.createMenuBar2() self.createMenuBar3() self.switchMenuBar1() def createMenuBar1(self): self.menuBar1 = wx.MenuBar() menuItem1 = wx.MenuItem(self.menuBar1, -1, '菜单1') self.menuBar1.Append(menuItem1, '菜单1') self.Bind(wx.EVT_MENU, self.onSwitchMenuBar1, menuItem1) self.SetMenuBar(self.menuBar1) self.panel1 = wx.Panel(self, style=wx.BORDER_SUNKEN) self.panel1.SetPosition((0, 25)) self.panel1.SetSize((800, 575)) def createMenuBar2(self): self.menuBar2 = wx.MenuBar() menuItem2 = wx.MenuItem(self.menuBar2, -1, '菜单2') self.menuBar2.Append(menuItem2, '菜单2') self.Bind(wx.EVT_MENU, self.onSwitchMenuBar2, menuItem2) self.panel2 = wx.Panel(self, style=wx.BORDER_SUNKEN) self.panel2.SetPosition((0, 25)) self.panel2.SetSize((800, 575)) def createMenuBar3(self): self.menuBar3 = wx.MenuBar() menuItem3 = wx.MenuItem(self.menuBar3, -1, '菜单3') self.menuBar3.Append(menuItem3, '菜单3') self.Bind(wx.EVT_MENU, self.onSwitchMenuBar3, menuItem3) self.panel3 = wx.Panel(self, style=wx.BORDER_SUNKEN) self.panel3.SetPosition((0, 25)) self.panel3.SetSize((800, 575)) def onSwitchMenuBar1(self, event): self.SetMenuBar(self.menuBar1) self.panel2.Hide() self.panel3.Hide() self.panel1.Show() def onSwitchMenuBar2(self, event): self.SetMenuBar(self.menuBar2) self.panel1.Hide() self.panel3.Hide() self.panel2.Show() def onSwitchMenuBar3(self, event): self.SetMenuBar(self.menuBar3) self.panel1.Hide() self.panel2.Hide() self.panel3.Show() def switchMenuBar1(self): self.SetMenuBar(self.menuBar1) self.panel2.Hide() self.panel3.Hide() self.panel1.Show() if __name__ == '__main__': app = wx.App() frame = MyFrame() frame.Show(True) app.MainLoop()报错TypeError: MenuItem(): argument 1 has unexpected type 'MenuBar'咋解决
最新发布
04-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值