wxPython中控件的邮件弹出式菜单是在 EVT_CONTEXT_MENU 事件中创建菜单对象,并且 EVT_CONTEXT_MENU 事件处理完毕后菜单对象即被释放。而主菜单栏MenuBar一般在窗口构造时即创建,为了让主菜单也可以根据条件动态生成菜单,可以借助 EVT_MENU_OPEN 事件来实现。

class MainFrame(wx.Frame):def __init__(self):super().__init__(None, wx.ID_ANY, '')#创建一个 "文件" 菜单,其 "新建" 菜单的子菜单被动态生成self.Bar = wx.MenuBar()self.Menu = wx.Menu()self.SubMenu = wx.Menu()self.Menu.Append(wx.NewIdRef(), '新建', subMenu=self.SubMenu)self.Bar.Append(self.Menu, '文件')self.SetMenuBar(self.Bar);#注册事件处理函数self.Bind(wx.EVT_MENU_OPEN, self.onMenuOpen)def onMenuOpen(self, evt):#如果是 "文件" 菜单,则清除 "新建" 的子菜单,然后动态生成子菜单项增加进去if evt.GetMenu() == self.Menu:       for _it in [x for x in self.SubMenu.MenuItems]:self.SubMenu.DestroyItem(_it)self.SubMenu.Append(wx.NewIdRef(), '菜单项1')self.SubMenu.Append(wx.NewIdRef(), '菜单项2')self.SubMenu.Append(wx.NewIdRef(), '菜单项3')...     

wxPython使用EVT_MENU_OPEN事件实现运行时生成动态菜单相关推荐

  1. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    "System.IO.FileLoadException"类型的未经处理的异常在 XXX.dll 中发生 其他信息: 混合模式程序集是针对"v2.0.50727" ...

  2. C#异常--System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的错误...

    异常信息: System.IO.FileLoadException:"混合模式程序集是针对"v2.0.50727"版的运行时生成的,在没有配置其他信息的情况下,无法在 4 ...

  3. C#连接Sqlite 出现:混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。的解决方案...

    C#连接Sqlite 出现: 混合模式程序集是针对"v2.0.50727"版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集.的解决方案 C#连接s ...

  4. 混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

    看到一个kinect大牛编写的一个水果忍者的体感游戏版本,让我为自己一直以来只用现有的网页游戏来模拟kinect体感游戏控制感到惭愧,没办法,我还是菜鸟.学习一段后自己模仿星际大战这个游戏,自己写了一 ...

  5. VS2010 混合模式程序集是针对v1.1.4322版的运行时生成的 在没有配置其他信息的情况下 无法再4.0运行中

    VS报错,百度之解决方案:原文出处 http://www.cnblogs.com/zcftech/archive/2013/03/22/2976385.html 看到一个kinect大牛编写的一个水果 ...

  6. VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    看到一个kinect大牛编写的一个水果忍者的体感游戏版本,让我为自己一直以来只用现有的网页游戏来模拟kinect体感游戏控制感到惭愧,没办法,我还是菜鸟.学习一段后自己模仿星际大战这个游戏,自己写了一 ...

  7. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...

    其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的Sy ...

  8. 深入浅出mfc学习笔记——六大关键技术之仿真_运行时和动态创建

    1:PS88:MFC的类层次结构 <1>CObject <2>CCmdTarget,CDocument <3>CCmdTarget_CWinThread_CWinA ...

  9. VS2010使用DX报错 VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    更改项目的app.config内容为以下内容 目的是开启对低版本的NETFWK支持 其实出现混合模式集的问题不只是在V1.1.4322这个版本上,在查询解决方案时发现,但凡程序集版本发生改变时,都有可 ...

最新文章

  1. java hdfs创建文件_使用HDFS java api 创建文件出错。
  2. Java并发编程开发笔记——2线程安全性
  3. 量子计算机区别于冯诺依曼机的一个显著特点,大学计算机基础习题答案西安交大.doc...
  4. Zabbix配置详解
  5. 向Access中插入数据报“INSERT INTO 语句的语法错误” 解决
  6. 我的女朋友漏电了–论C++中的失败(failure),缺陷(bug)和异常(exception)
  7. SQLplus 和mysql区别_mysql和oracle的区别有哪些
  8. 小米第二款5G手机是小米9?升级版小米9 配置强悍!
  9. 三星宣布7nm LPP芯片量产!性能高20%,功耗降50%,面积降40%
  10. python na不显示 占位_Python学习之路—Python基础(一)
  11. 常用的三种机器学习预测方法
  12. fiddler连接手机
  13. 用计算机信息术语感恩老师,赞美老师锦旗用语大全 感恩老师的句子
  14. Discuz!安全防护之注册机防护插件免费发布
  15. linux创建文件内容三行,Linux 文本处理三剑客
  16. CF711C三维DP
  17. 2021-10-21分享几个贼拉好用的电脑小窍门
  18. java没有编译器吗_java有编译器吗
  19. 【紧急整理】《信息资源管理》信息资源管理的标准与法规,第5章
  20. 旅行社如何通过抖音短视频获客?

热门文章

  1. NMEA-0183标准
  2. 大数据 -- java基础16 网络编程 TCP UDP
  3. Word 自动编号时设置一级标题为“第一章”,二级标题为“1.1”
  4. 最想和你做的100件事,我们一件一件的去完成
  5. Android开发--实现Android引导页
  6. VS中怎么实现代码换行
  7. 虾皮怎么注册开店,开一个属于你的优质店铺
  8. 高精度地图中的中英文专业词汇对照
  9. Python经典实验4-字典和集合的应用
  10. 千万别对女项目经理有幻想!