最近逐步熟悉wxpython,编写了几个小小功能的GUI程序,GUI中免不了会有在代码中触发控件事件的业务需求。在其他Gui界面的语言中有postevent、triggerevent 调用事件名称的函数,非常方便。

在wxpython里如何解决呢,上一段简单的代码。

class frame(wx.Frame):
    ID_Help = wx.NewId()     def __init__(self, frame):         super(TaskBarIcon, self).__init__()         self.frame = frame         self.Bind(wx.EVT_MENU, self.OnHelp, id=self.ID_Help)
        ……
        self.Bind(wx.EVT_CHECKBOX, self.OnShowDetail, self.cbxShowDetail)        self.Bind(wx.EVT_BUTTON, self.OnPrint, self.btnPrint)
    ……
    def CreatePopupMenu(self):
        menu = wx.Menu()
        menu.Append(self.ID_Help,u'帮助&F1')
        return menu
…… def ShowMain():     #触发菜单事件,id=self.ID_Help     iRet = wx.PostEvent(self,wx.CommandEvent(wx.EVT_MENU.typeId,self.ID_Help))     return iRet def PrintMain():     #触发按钮事件,id=self.btnPrint.GetId()
    #相当于执行了btnPrint所绑定的事件OnPrint()事件。
    iRet = wx.PostEvent(self,wx.CommandEvent(wx.EVT_BUTTON.typeId,self.btnPrint.GetId()))     return iRet def PrintMain():     #触发checkbox事件,id=self.cbxShowDetail.GetId()
    #相当于执行了cbxShowDetail所绑定的事件OnShowDetail()事件。
    self.cbxShowDetail.SetValue(True)     iRet = wx.PostEvent(self,wx.CommandEvent(wx.EVT_CHECKBOX.typeId,self.cbxShowDetail.GetId()))     return iRet     

解释:

wx.PostEvent(self ,wx.CommandEvent(wx.EVT_CHECKBOX.typeId,self.cbxShowDetail.GetId()))

参数1 ,self代表处理postevent的窗口句柄。

参数2 ,event = wx.CommandEvent( eventtype, eventid)
eventtype 分别为wx.evt_menu ,wx.evt_button, wx.evt_checkboxx。

eventid 为事件的所绑定的控件id

以上。

最新文章

  1. 纯 CSS 绘制图形(心形、六边形等)
  2. Spring + Jedis集成Redis(集群redis数据库)
  3. 自定义CollectionViewLayout
  4. mybatis框架中动态SQL的编写
  5. JavaScript作用域原理(二)——预编译
  6. MFC之动态创建按钮
  7. [转载]高效使用matlab之四:一个加速matlab程序的例子
  8. Ninth scrum meeting - 2015/11/3
  9. 对大一新生开始学习C语言课程谈几点看法
  10. Redis学习笔记--五种数据类型的使用场景
  11. hdu_1253_胜利大逃亡(bfs+剪枝)
  12. Javascript实现简单的下拉二级菜单
  13. Hystrix 配置参数全解析
  14. Python_练习题_49
  15. 自学Python3.4-函数分类(匿名函数)
  16. 微信开发-PC调试-JS-SDK功能之分享功能调试
  17. Python描述符 (descriptor) 详解
  18. Jenkins Docker安装及Docker build step插件部署配置
  19. Java 高效并发之volatile关键字解析
  20. 网络量化——Quantized Convolutional Neural Networks for Mobile Devices

热门文章

  1. log4配置
  2. [转]How to Use xp_dirtree to List All Files in a Folder
  3. office中把标题之后的空格去掉
  4. ShellExecute 启动外部程序 参数详细介绍
  5. docker 简单安装java web项目
  6. PHP中oop面向对象基础知识(一)
  7. SqlSerVer 列与逗号分隔字符串 互相转换
  8. 使用DOM解析xml文件
  9. 使用JSON实现分页
  10. gulpjs的使用介绍及技巧