Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >wxpython 编程触发菜单或按钮事件

wxpython 编程触发菜单或按钮事件

作者头像
黯然销魂掌
发布于 2018-09-27 03:10:41
发布于 2018-09-27 03:10:41
2.4K00
代码可运行
举报
文章被收录于专栏:python爬虫日记python爬虫日记
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-07-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用wxPython打造Python图形界面
当你为小部件的位置提供精确的坐标时,使用的技术称为绝对定位。大多数GUI工具包都提供了这种功能,但实际上并不推荐使用这种功能。
AiTechYun
2019/05/13
2.3K0
Python|利用wxpython实现GUI编写
GUI即图形用户界面(Graphical User Interface),即计算机展示的每一个窗口。往往一个界面是连接很多API的载体,后台可能有多种语言支撑。但与语言种类没有关系,几乎每一种语言都可以编写出GUI。
算法与编程之美
2020/04/01
1.4K0
Python|利用wxpython实现GUI编写
Wxpython快速构建GUI窗口程序
最近学习了一下关于用wxpython来构建窗口GUI程序,关于wxFormbuilder和wxpython的用法,理解的还不是很透彻,强行此文。因此本文适合新人,请大牛们多多指教,谢谢
叉叉敌
2019/02/20
1.8K0
wxPython中文教程入门实例「建议收藏」
这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下
全栈程序员站长
2022/08/26
2.1K0
Python GUI库wxPython官网Hello World示例的逐行解释
这篇文章是对wxPython官网第二个"Hello World"的demo代码的逐行解释,不过为方便初学者做了小部分改动,勉强算对wxPython的入门了解。
枇杷李子橙橘柚
2022/06/15
6040
使用python快速开发桌面小工具
在日常开发中,总需要一些普通的小工具。小工具嘛,要得急,写得也急,总有很多不完善的问题,频繁修改成了一个较大的问题。比如之前用c#写了一个将excel表自动转成csv文本的工具,后面需要一个转为Tab分割的文本,本来也就是改一点小东西,重新编译一下就可以,但是工程不小心丢了,确实比较尴尬了。
全栈程序员站长
2022/08/31
8300
使用WxPython处理弹出菜单和绑定回调
前段时间大厂找我做软件开发,那时候我们在做开发得过程中,尤其在创建用户界面时,使用 WxPython 处理弹出菜单并绑定回调函数有很多好处,不仅可以增强用户交互性、提高用户体验、简化界面设计等等,看看下面得问题。
华科云商小徐
2024/02/20
1500
wxPython:Python首选的GUI库 | CSDN博文精选
跨平台的GUI工具库,较为有名的当属GTK+、Qt 和 wxWidgets 了。GTK+是C实现的,由于C语言本身不支持OOP,因而GTK+上手相当困难,写起来也较为复杂艰涩。Qt 和 wxWidgets 则是C++实现的,各自拥有庞大的用户群体。虽然我喜欢wxWidgets,但还是尽可能客观地搜集了关于Qt 和 wxWidgets 的对比评价。
AI科技大本营
2019/11/12
3K0
python编写的串口程序
最近导师给了个GSM模块,需要通过RS232串口发送AT指令来对模块进行控制,于是看了看python的GUI设计和串口部分的资料,自己编写了一个串口发送的小程序,虽然有不少的bug,但是总体上还是能用的,先把程序留在这,以便后续修改。
py3study
2020/01/08
1.6K0
wxPython_02_常用控件--Radio/CheckBox,Choice,Slider,SpinCtrl,Timer
wxPython各种控件用法官方手册 : http://xoomer.virgilio.it/infinity77/wxPython/widgets.html
码农帮派
2020/04/01
7170
wxPython_02_常用控件--Radio/CheckBox,Choice,Slider,SpinCtrl,Timer
wxPython入门中文版 (Getting Started with wxPython)
本文翻译自http://wiki.wxpython.org/Getting%20Started 首先声明:本人还是个菜鸟,翻译只是为了学习,就当作记笔记了。水平有限,错误和疏漏在所难免,希望各路高手能够给予指导。而且简单查了一下,好像中文世界目前还没有完整的翻译 Getting Started with wxPython 的。
全栈程序员站长
2022/08/31
5.5K0
wxPython入门中文版 (Getting Started with wxPython)
如何使用wxPython构建一个GUI应用程序
wxPython是Python语言的一套优秀的GUI图形库。我们可以使用Python程序很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。
TalkPython
2019/05/24
2.7K1
python实现的摩斯电码解码\编码器
代码地址如下:http://www.demodashi.com/demo/14743.html
用户7886150
2021/01/01
8180
wxpython自定义控件_wxPython 教程(十三) 自定义控件
本节讲述 wxPython 自定义控件 。GUI Toolkits 会提供多数常用的部件,比如按钮、文本控件、滚动条、滑块等等。wxPython 也会提供很多控件,但若需要更定制化的控件还是需要开发者自己编写。
全栈程序员站长
2022/08/26
1.5K0
Tiknter例子3
============================================
py3study
2020/01/10
1.2K0
用wxPython打造Python图形界面
使应用程序工作的第一步是更新应用程序,使它具有一个文件菜单,因为这样你就可以将MP3文件添加到创建中。菜单几乎总是添加到wx.frame中。这就是你需要修改的类。
AiTechYun
2019/05/13
1.9K0
Python授权码生成器(密码生成器)
有时候我们需要为自己的产品设置一些使用权限 ,这就需要随机授权码生成器。当然这是简单的随机生成器,像Adobe这种授权码是需要一定的加密算法生成,然后再验证授权码是否正确,而不是简单的生成。
里克贝斯
2021/05/21
3K0
Python授权码生成器(密码生成器)
(九)Python GUI的基本框架
目录 基本框架 组件 事件处理机制  GUI常用组件 按钮 菜单 菜单常用事件 静态文本和文本框 列表 单选与复选框   布局管理  sizer 使用sizer的步骤 其他GUI库 PyQt Tkinter PyGTK ---- 基本框架 创建一个简单的wxPython程序 import wx app = wx.App() # 创建应用程序对象 frame = wx.Frame(None, title = "Hello, World!") #创建一个框架 frame.Show(True) # 显示窗
小点点
2022/12/12
1.8K0
(九)Python GUI的基本框架
wxpython中文教程_wxPython快速入门教程
frame = wx.Frame(None, wx.ID_ANY, “Hollo World”)
全栈程序员站长
2022/08/31
1.1K0
python之图形界面
在编写python GUI程序前,需要决定使用哪个GUI平台。wxpython----跨平台pythonGUI工具包
py3study
2020/01/07
2.3K0
相关推荐
用wxPython打造Python图形界面
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档