首页 后端开发 Python教程 wxPython事件驱动实例详解

wxPython事件驱动实例详解

Jun 06, 2016 am 11:32 AM
wxpython 事件 驱动

本文实例讲述了wxPython的事件驱动机制,分享给大家供大家参考。具体方法如下:

先来看看如下代码:

#!/usr/bin/python 
 
# moveevent.py 
 
import wx  #导入wx库 
 
class MoveEvent(wx.Frame): 
  def __init__(self, parent, id, title): 
    wx.Frame.__init__(self, parent, id, title, size=(250, 180)) #窗口大小为(250, 180) 
 
    wx.StaticText(self, -1, 'x:', (10,10))#parent, id, title, point 
    wx.StaticText(self, -1, 'y:', (10,30)) 
    self.st1 = wx.StaticText(self, -1, '', (30, 10)) 
    self.st2 = wx.StaticText(self, -1, '', (30, 30)) 
 
    self.Bind(wx.EVT_MOVE, self.OnMove)  #绑定Frame的move事件 
 
    self.Centre() 
    self.Show(True) 
 
  def OnMove(self, event): 
    x, y = event.GetPosition() 
    self.st1.SetLabel(str(x)) 
    self.st2.SetLabel(str(y)) 
     
app = wx.App()#生成应用程序 
MoveEvent(None, -1, 'move event')#调用自己的类,三个参数为:parent, id , title 
app.MainLoop()#应用程序事件循环 

登录后复制

程序运行效果如下图所示:

wxStaticText的两个构造函数官方文档如下:
wxStaticText ()
   Default constructor.
wxStaticText (wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString&name=wxStaticTextNameStr)
 
Constructor, creating and showing a text control.

The event parameter in the OnMove() method is an object specific to a particular event type. In our case it is the instance of a wx.MoveEvent class. This object holds information about the event. For example the Event object or the position of the window. In our case the Event object is the wx.Frame widget. We can find out the current position by calling the GetPosition() method of the event.

OnMove()方法中的event参数是一种特殊的事件类型,在我们的例子中,它是wx.MoveEvnet类的一个实例.这个对象保存了事件的一些信息,比如这个事件对象或者窗口的位置.在我们例子中事件对象是一个wx.Frame控件.我们可以通过调用事件对象的GetPosition()得到当前位置信息.

Vetoing events

Sometimes we need to stop processing an event. To do this, we call the method Veto().

#!/usr/bin/python 
 
# veto.py 
 
import wx 
 
class Veto(wx.Frame): 
  def __init__(self, parent, id, title): 
    wx.Frame.__init__(self, parent, id, title, size=(250, 200)) 
 
 
    self.Bind(wx.EVT_CLOSE, self.OnClose) 
 
    self.Centre() 
    self.Show(True) 
 
  def OnClose(self, event): 
 
    dial = wx.MessageDialog(None, 'Are you sure to quit?', 'Question', 
      wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) 
    ret = dial.ShowModal() 
    if ret == wx.ID_YES: 
      self.Destroy() 
    else: 
      event.Veto() 
 
app = wx.App() 
Veto(None, -1, 'Veto') 
app.MainLoop()

登录后复制

希望本文所述对大家的Python程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

罗技ghub驱动不支持win7吗?-罗技ghub驱动为什么只能安装在c盘? 罗技ghub驱动不支持win7吗?-罗技ghub驱动为什么只能安装在c盘? Mar 18, 2024 pm 05:37 PM

罗技ghub驱动是不是不支持win7?不兼容。由于Windows7已停止更新且不再是微软的主要操作系统,许多新软件不再支持它,如罗技ghub。罗技驱动的主要界面:1、软件主界面在左边,三个按钮依次是灯光,按键,灵敏度设置。2、灯光界面的设置中,一般特效比较常规,音频视觉效果是亮点,可以根据声音频率变色,根据高中低音频段来进行设置,有不同的颜色和效果。3、按键设置中,用户可以根据自己有什么特殊要求的可以在这里编辑。4、灵敏度设置里面有很多用户会有一些属于自己的设置,可以自己加DPI速度切换点,但是

罗技驱动恢复默认配置步骤 罗技驱动恢复默认配置步骤 Feb 28, 2024 am 11:04 AM

面对无法正常使用的罗技驱动,只可以通过恢复出厂来解决,但很多小伙伴不知道怎么才可以去恢复出厂设置,下面就为大家提供详细的恢复出厂设置步骤,希望可以帮助到你们。罗技驱动恢复默认配置步骤1、首先下载罗技专用驱动软件GHub,下载完成后打开,2、然后打开鼠标进行设置,在点击右上角的设置(齿轮),3、最下方就由“恢复默认设置”,直接点击后,重新开启软件就恢复出厂设置了。罗技驱动怎么连接设备1、打开鼠标后盖拿出无线鼠标插口,2、选择电脑旁的鼠标插入口,3、鼠标设置对应的参数信息,4、蓝牙配对设备,长按蓝牙

雷蛇鼠标驱动怎么下载 雷蛇鼠标驱动怎么下载 Mar 11, 2024 pm 03:40 PM

下载雷蛇鼠标驱动的步骤:1、打开浏览器,进入雷蛇官网;2、在官网页面,寻找并点击“技术支持”或类似的选项;3、在技术支持页面,选择“鼠标”或具体的子分类;4、在鼠标驱动下载页面,你可以看到各种鼠标型号及其对应的驱动程序;5、点击所选驱动程序的下载链接;6、下载完成后,检查下载的文件是否完整,确保没有损坏或缺失。

win11没有数字签名的驱动怎么安装_Win11驱动没有数字签名的处理教程 win11没有数字签名的驱动怎么安装_Win11驱动没有数字签名的处理教程 Mar 20, 2024 pm 04:46 PM

有些用户在安装win11电脑的驱动时遇到了一些问题,电脑提示无法验证此文件的数字签名,导致无法安装驱动,这该怎么解决呢?详细请看下文介绍。1、按【Win+X】组合键,或【右键】点击任务栏上的【Windows徽标】,在打开的菜单项中,选择【运行】;2、运行窗口,输入【powershell】命令,然后按【Ctrl+Shift+Enter】以管理员权限打开WindowsPowershell窗口;3、用户账户控制窗口,你要允许此应用对你的设备进行更改吗?点击【是】;4、管理员:WindowsPowers

win11驱动没有数字签名怎么解决?win11驱动没有数字签名的解决教程 win11驱动没有数字签名怎么解决?win11驱动没有数字签名的解决教程 Feb 19, 2024 pm 11:20 PM

我们在使用win11系统的安装或者是运行程序的时候有时候需要数字签名才能够正常的使用,但是也有不少的用户们在询问win11驱动没有数字签名怎么解决?用户们可以以管理员权限打开WindowsPowershell窗口来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下win11驱动没有数字签名的解决方法吧。win11驱动没有数字签名的解决方法方法一:1、按【Win+X】组合键,或【右键】点击任务栏上的【Windows徽标】,在打开的菜单项中,选择【运行】。2、运行窗口,输入【powershel

Python GUI编程:快速上手,轻松打造交互式界面 Python GUI编程:快速上手,轻松打造交互式界面 Feb 19, 2024 pm 01:24 PM

pythonGUI编程简述GUI(GraphicalUserInterface,图形用户界面)是一种允许用户通过图形方式与计算机交互的方式。GUI编程是指使用编程语言来创建图形用户界面。Python是一种流行的编程语言,它提供了丰富的GUI库,使得PythonGUI编程变得非常简单。PythonGUI库介绍Python中有许多GUI库,其中最常用的有:Tkinter:Tkinter是Python标准库中自带的GUI库,它简单易用,但功能有限。PyQt:PyQt是一个跨平台的GUI库,它功能强大,

教你如何快速安装打印机驱动(详细教程) 教你如何快速安装打印机驱动(详细教程) Mar 14, 2024 am 11:30 AM

  电脑连接打印机之后,需要安装相应的打印机驱动才能正常运作,一些打印机故障也是需要通过打印机驱动才能解决的。那么我们要怎么安装打印机驱动呢?主要分为两种方法,一种是手动那种,一种是借助第三方软件。  方法一:手动安装法要确保知道自己使用的打印机品牌和型号,可以在购买时的详情页面或说明书上查找,另外也可以在打印机本身上寻找相关标识。  在搜索引擎输入品牌名,认准官网后进入在【软件和驱动下载】处选择【打印机】,输入产品型号,下载打印机驱动程序。  下载完成后,找到对应的程序,双击进行安装,待安装完

详细介绍电脑中的打印机驱动程序位置 详细介绍电脑中的打印机驱动程序位置 Jan 08, 2024 pm 03:29 PM

很多用户在电脑上安装了打印机驱动程序,但却不知道如何找到它们。因此,今天我为大家带来了详细介绍打印机驱动程序在电脑中的位置,对于还不了解的用户,快来看看吧打印机驱动在电脑哪里找重新撰写内容而不改变原义时,需要将语言改写为中文,不需要出现原句首先,建议使用第三方软件进行搜索2、在右上角找到"工具箱"3、在下方找到并点击“设备管理器”。改写后的句子:3、在底部找到并点击“设备管理器”4、然后打开“打印队列”,然后找到你的打印机设备。此次是你的打印机名称型号。5、右键打印机设备,就能够去更新或者卸载我

See all articles