wxpython设计GUI:同一个按钮控件响应多个事件

Python的GUI界面编程 其中,Tkinter是Python自带的GUI界面编程工具,使用简单,适合初学者入门。在本文中,我们将介绍Python的GUI界面编程,包括其基本概念、使用方法和实际应用。Python的GUI界面编程是一种非常实用的技能,可以应用于各种领域。本文介绍了Python的GUI界面编程的基本概念、使用方法和实际应用,希望对读者有所帮助。Python的GUI界面编程可以应用于各种领域,比如数据可视化、图像处理、游戏开发等。下面我们以数据可视化为例,介绍Python的GUI界面编程的实际应用。 阅读详情

同一个按钮控件需要对多个事件先后发生响应,需要在先发生的事件响应函数后面增加“event.Skip()”语句。

例如:按钮控件需要支持两种对事件的响应,先是点击按钮后按钮变颜色明示用户选中了该按钮,后是按钮点击后正常执行退出系统功能。
在这里插入图片描述

代码实现:

        # 退出系统
        self.m_button24.Bind(wx.EVT_BUTTON, self.quit)
        self.m_button24.Bind(wx.EVT_LEFT_DOWN, self.change_color_4)
    def quit(self, event):
        self.Destroy()
        sys.exit(0)
    def change_color_4(self, event):
        self.m_button24.SetBackgroundColour(wx.Colour("red"))
        event.Skip()

先改变按钮的颜色再执行退出系统的功能,以下按钮的触发事件设置都是不生效的:

第一种情况:都设置成wx.EVT_BUTTON

        # 退出系统
        self.m_button24.Bind(wx.EVT_BUTTON, self.quit)
        self.m_button24.Bind(wx.EVT_BUTTON, self.change_color_4)

第二种情况:都设置成wx.EVT_LEFT_DOWN

       # 退出系统
        self.m_button24.Bind(wx.EVT_LEFT_DOWN, self.quit)
        self.m_button24.Bind(wx.EVT_LEFT_DOWN, self.change_color_4)

第三种情况:改变颜色的触发事件设置成wx.EVT_BUTTON,退出系统的触发事件设置成wx.EVT_LEFT_DOWN

       # 退出系统
        self.m_button24.Bind(wx.EVT_LEFT_DOWN, self.quit)
        self.m_button24.Bind(wx.EVT_BUTTON, self.change_color_4)

原因如下:
在这里插入图片描述

在这里插入图片描述

从以上两个事件触发来看,EVT_BUTTON一定是晚于EVT_LEFT_DOWN响应的,所以要实现先改变按钮的颜色再执行退出系统的功能,应该将EVT_BUTTON赋予最后发生的事件。

python的GUI编程--wxpython学习(二)--基本控件和事件 其实wxpython的控件非常简单,在你声明好的panel或者frame里面直接实例化就行了,然后设置几个通用的参数,比如: parent=xxx label=’xxx’ style=’xxx’ 获取里面的值或者内容可以用GetValue()设置则是SetValue()。 为了省事,我把要学习的控件分为三个例子,如下图: 所以这里不一个个举例了,一个小技巧就是直接ctrl+鼠标左键进入源 阅读详情

相关推荐

Python之GUI编程

一、常用的GUI库 Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。 wxPython:wxPython是比较流行的GUI库,适合大型应用程序开发,功能强宇tkinter,整体设计框架类似于MFC(Microsoft Foundation Classes 微软基础类库) PyQT:Qt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Pyt.

qq_60381063的博客 2万+

python一个按钮控制两个事件_PythonPyQt5教程(二)按钮的封装及响应、窗口事件的监听...

点击之后输出如下:click_Callback_one be calledclick_Callback_two be called其按我们的设置顺序进行了调用。有关signal&slot(信号槽)机制后面会单独出一篇,这里我们只需要知道connect之后,当clicked被触发时,就会回调给我们。OK,一个按钮我们就搞定了。但是,此时,我希望点击时,关掉我们的窗口,那该如何实现呢?其实很简...

weixin_29165725的博客 4339

Python实例讲解 -- wxpython 基本的控件 (文本)

使用基本的控件工作   wxPython 工具包提供了多种不同的窗口部件,包括了本章所提到的基本控件。我们涉及静态文本、可编辑的文本、按钮、微调、滑块、复选框、单选按钮、选择器、列表框、组合框和标尺。对于每种窗口部件,我们将提供一个关于如何使用它的简短例子,并附上相关的wxPython API 的说明。   显示文本   这一节以在屏幕上显示文本的例子作为开始,包括用作标签的...

Just Code 2354

wxPython学习(6.控件)

1.静态文本和按钮 wxPython中静态文本类是wx.StaticText,可以显示文本。wxPython中的按钮主要有三个:wx.Button、wx.BitmapButton和wx.ToggleButton。 wx.Button:是普通按钮 wx.BitmapButton:是带有图标按钮 wx.ToggleButton:能进行两种状态切换的按钮 StaticText构造函数的参数 pare...

qq_35634418的博客 1781

Python wxPython 【GUI库】简介

wxPython 是 Python 生态中构建专业级跨平台桌面应用的重要工具。尽管存在学习曲线,但其强大的控件库和原生体验使其成为开发桌面 GUI 的优选方案。对于追求界面美观和跨平台兼容性的项目,wxPython 值得深入探索。

记录点滴 913

wxPython实战教程:打造跨平台GUI应用

wxPython是一个开源的GUI工具包,为Python语言提供了丰富的用户界面组件。它起源于1998年,作为wxWidgets的Python封装,wxWidgets本身是一个成熟的C++跨平台GUI库。wxPython以其简洁、Pythonic的接口深受开发者喜爱,至今已广泛应用于多种平台和应用领域中。在许多应用中,wxPython提供的标准控件库可能无法完全满足用户界面的需求。这时就需要自定义控件来实现特定的功能。自定义控件可以是现有控件的组合,也可以是完全由开发者自己绘制。

weixin_34374684的博客 942

python多进程控制gui界面_python gui 多进程的疑问

from tkinter import *import concurrent.futuresdef p1():while True:print('1')def p2():while True:print('2')def login():login_window.after(1, p1)login_window.mainloop()def main():main_window.after(1, p2...

weixin_39628160的博客 517

Python GUI制作实例:wxPython多线程实战,含wxFormBuilder文件和源码

本文还有配套的精品资源,点击获取 简介:Python GUI制作中,wxPython库和wxFormBuilder工具是常用的组合。wxPython提供了丰富的组件和设计模式,而wxFormBuilder则可视化设计GUI布局。本实例展示了如何使用wxPython和多线程来防止GUI假死,并提供了wxFormBuilder设计的项目文件和Python源代码。通过学习这个实例...

weixin_28949937的博客 1772

python一个按钮控制两个事件_Python Turtle按键事件不重复

是有办法让它在Windows上工作,让拿着钥匙 下创建重复的事件?按键重复是操作系统功能,不同的系统处理它的方式不同。例如,默认情况下,我的Apple OS X系统上的按键会重复播放,但我可以进入系统偏好设置/键盘并更改速率,甚至关闭它(我试图测试以下代码。)如果您不喜欢“T有键重复,想模拟它,下面是一个使用龟定时器事件一键启动的关键重复下来,把它关掉关键了一个简单的例子:# import the...

weixin_39945816的博客 1230

Python GUI开发:从Tkinter到wxPython

本章介绍了Python中图形用户界面开发的几种库,重点讨论了Tkinter、PyQt和wxPython的使用。章节内容涵盖了wxPython的安装、基础程序编写、自定义窗口类、添加控件及事件处理机制。通过详细的示例代码,为读者展示了如何构建简单的GUI应用。

weixin_42581846的博客 476

无参考图像质量评估方法:BRISQUE、RankIQA、DIQA

常用的图像质量评估(IQA)分为无参考和有参考两种类型。常见的有参考图像质量评估方法有PSNR,SSIM以及VMAF。其中vmaf是针对视频来讲的,在它的评价方法里面添加了一些时域信息,如果应用于单张图片,需要做一些处理,如去除时域信息。有参考意味着图像质量是以参考图为基准。基于参考图像都是高清图像的假设,这些评价方法已经广泛应用于图像压缩以及图像传输、拼接之类的处理后图像的质量,假如这张参考图的质量本身就比较渣,那么该评价指标可信度就大大降低。

weixin_51732791的博客 3191

wxPython 实践(四)事件响应

wxPython 实践(一)概述wxPython 实践(二)基础控件wxPython 实践(三)页面布局wxPython 实践(四)事件响应wxPython 实践(五)高级控件。

cliffordl的专栏 1153

Xilinx PL端DP显示接口开发实战(一)——环境搭建与硬件选型

本文详细介绍了Xilinx PL端DP显示接口开发的环境搭建与硬件选型实战经验。从Vivado和Vitis 2021.1版本的软件安装要点,到DP141和MCDP6000芯片的选型建议,再到DP1.4接口的RX/TX方向开发关键点,为开发者提供了全面的技术指导。文章还分享了IP核配置、BD原理图设计以及常见问题排查的实用技巧,帮助开发者高效完成Xilinx DP接口开发项目。

weixin_29250573的博客 174

常用的wxpython控件使用方法总结

总结下现阶段我常用到wxpython控件的一些使用方法,便于记录和查询。我一般是借助wxFormBuilder工具搭建基础的界面生成代码,这样做的好处自然是方便设计界面增加界面的美观度,再在.py文件手写代码设置控件的事件驱动,以此来完成GUI工具的开发。下图是我常用的wxFormBuilder基础组件及wxpython中控件的方法。

Logintern09的博客 3214

【电磁场计算】磁偶极子在外磁场中的受力

最近在总结电磁场计算公式的时候发现,关于磁偶极子受力的计算公式,在不同文献中的说明有点出入,在此特地写一篇博客澄清一下。

sky4403的博客 7470

[运动规划算法]基于飞行走廊的轨迹优化

文章目录简介一、介绍二、原理飞行走廊生成三、项目演示参考 简介 Btraj是一个在线的四旋翼无人机的运动规划框架,主要用于未知环境中的自主导航。基于机载状态估计和环境感知,采用基于快速行进(FM *)的路径搜索方法,从基于构建的欧氏距离场(ESDF)中寻找路径,以实现更好的时间分配。通过对环境进行膨胀生成四旋翼无人机的飞行飞行走廊。使用伯恩斯坦多项式将轨迹表示为分段Bezier曲线,并将整个轨迹生成问题转换成凸问题。通过使用Bezier曲线,可以确保轨迹的安全性和高阶动力学可行性,可以将轨迹完全限制在安全

xiewf的博客 8063

wxpython按钮事件处理_wxPython事件处理

与以顺序方式执行的控制台模式应用程序不同,基于GUI的应用程序是事件驱动的。响应于用户的操作(如单击按钮,从集合或鼠标点击中选择一个项目等)来执行函数或方法,称为事件。与在应用程序运行时发生的事件相关的数据被存储为从wx.Event派生的子类的对象。显示控件(如Button)是特定类型的事件源,并产生与其关联的Event类的对象。例如,点击一个按钮会发出一个wx.CommandEvent。该事件数...

weixin_32943857的博客 1362

YOLOv8独家原创改进:SPPF原创自研创新 | SPPF创新结构,重新设计全局平均池化层和全局最大池化层,增强全局视角信息和不同尺度大小的特征

SPPF_improve利用全局平均池化层和全局最大池化层,加入一些全局背景信息和边缘信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4684

Python GUI: wxpython wxFormBuilder

https://github.com/wxFormBuilder/wxFormBuilder/releases

人不风流枉少年 2014

【LAMMPS学习】八、基础知识(2.1)2D模拟

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。LAMMPS 源代码分发的examples目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

荷塘阅色 1251

Open Dynamics Engine(ODE)物理引擎基础教程(I)——特点介绍

下一教程 Open Dynamics Engine(ODE)物理引擎基础教程(II)——相关概念 (在这一教程中将学习刚体、关节、碰撞的概念在ODE中的特点) 本文结构引言介绍特点使用ODE总结 引言 本文翻译自ODE官方教程英文版,有些地方增加了自己的理解。这一节介绍ODE的相关概念。 基础教程英文原版链接【http://ode.org/wiki/index.php?title=Manua...

腿足机器人领域 1677

wxpython控件绑定事件_wxPython事件处理

与以顺序方式执行的控制台模式应用程序不同,基于GUI的应用程序是事件驱动的。函数或方法响应用户的操作来执行,例如单击按钮,从集合或鼠标单击等中选择一个项目,称为事件。有关在应用程序运行时发生的事件的数据存储为从 wx.Event派生的子类的对象。显示控件(如Button)是特定类型的事件源,并生成与其关联的Event类的对象。例如,点击一个按钮会发出一个wx.CommandEvent。该事件数据被...

weixin_39645343的博客 699

人工智能训练师三级考试备考全攻略|报名条件+真题+补贴申领一站式通关(2026版)

本专栏是人工智能训练师三级考证最完整的备考指南,共77篇文章,覆盖从职业认知、报名实操、AI基础知识、数据标注、模型训练测试部署、考前冲刺到考后进阶的全链路。本导读按模块整理了全部文章链接,帮你快速定位所需内容。人工智能训练师是国家认定的正式职业,证书可在osta.mohrss.gov.cn查询,三级证书可申领最高3120元技能补贴。

白话机器学习 1796

wxpython界面开发工具_wxPython GUI构建工具wxFormBuilder

跨平台GUI库wxWidgets,这个库主要是用C++语言实现的;鉴于wxWidgets的流行,Robin Dunn用Python语言对wxWidgets做了一层封装,封装后便成了Python版GUI库wxPython;下面是这两个GUI库的官方主页:wxWidgets的各种UI控件功能均是通过class来实现的,这个链接 http://docs.wxwidgets.org/3.0/page_cl...

weixin_39856709的博客 546

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python如何实现界面交互设计_python图形化界面设计(wxpython)三全面介绍

本篇内容来自https://www.cnblogs.com/ssyfj/p/8976178.html#wxpython的程序结构目录主要使用wxPython(最成熟的跨平台python GUI工具包)前戏:基础了解WxPython的程序结构窗口组成:事件驱动:常用组件(简单了解,后面还有):基本组件1.静态文本框2.文本输入框3.按钮控件4.单选框5.多选框6.列表控件7.使用sizer布局组件菜...

weixin_39583655的博客 3029

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python调用菜单响应事件_[Python] wxpython 编程触发菜单或按钮事件

最近逐步熟悉wxpython,编写了几个小小功能的GUI程序,GUI中免不了会有在代码中触发控件事件的业务需求。在其他Gui界面的语言中有postevent、triggerevent 调用事件名称的函数,非常方便。在wxpython里如何解决呢,上一段简单的代码。class frame(wx.Frame):ID_Help=wx.NewId()def__init__(self,frame):...

weixin_39928461的博客 698

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: wxpython设计GUI:窗口Frame最大化、最小化、关闭及全屏显示的说明
下一篇: python调用subprocess模块实现命令行操作控制SVN
草莓仙生
博客等级 码龄8年 2034粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓仙生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值