wxpython中自定义事件的实现与使用方法分析
本文实例讲述了wxpython中自定义事件的实现与使用方法。分享给大家供大家参考,具体如下:
创建自定义事件的步骤:
① 定义事件类,该事件类必须继承自wx.PyCommandEvent,并定义get和set方法来获取和设置事件参数。
② 创建一个事件类型和一个绑定器对象去绑定该事件到特定的对象。
③ 创建自定义事件对象,设置事件参数,并且使用ProcessEvent()方法将这个实例引入事件处理系统。
④ 绑定自定义事件的event handler。
⑤ 在event handler中响应事件。
示例代码:
#!/usr/bin/env python #coding=utf-8 import wx class MyTestEvent(wx.PyCommandEvent): #1 定义事件 def __init__(self, evtType, id): wx.PyCommandEvent.__init__(self, evtType, id) self.eventArgs = "" def GetEventArgs(self): return self.eventArgs def SetEventArgs(self, args): self.eventArgs = args myEVT_MY_TEST = wx.NewEventType() #2 创建一个事件类型 EVT_MY_TEST = wx.PyEventBinder(myEVT_MY_TEST, 1) #3 创建一个绑定器对象 class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "My Frame", size=(300, 300),pos=(300,300)) panel = wx.Panel(self, -1) self.button1 = wx.Button(panel,id=-1,pos=(40, 40),label="button1") self.Bind(wx.EVT_BUTTON, self.OnButton1Click, self.button1) self.Bind(EVT_MY_TEST, self.OnHandle)# 4绑定事件处理函数 def OnButton1Click(self,event): self.OnDoTest() def OnHandle(self,event):#8 事件处理函数 dlg = wx.MessageDialog(self, event.GetEventArgs(),'A Message Box',wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() def OnDoTest(self): evt = MyTestEvent(myEVT_MY_TEST, self.button1.GetId()) #5 创建自定义事件对象 evt.SetEventArgs("test event") # 6添加数据到事件 self.GetEventHandler().ProcessEvent(evt) #7 处理事件 if __name__ == '__main__': app = wx.PySimpleApp() frame = MyFrame() frame.Show(True) app.MainLoop()
说明:
1.定义MyTestEvent 类为wx.PyCommandEvent的子类,wx.PyCommandEvent是wxPython特定的结构,可以用来创建新的事件类并且可以把C++类和你的Python代码连接起来。
2. wx.NewEventType()类似于wx.NewId();它返回一个唯一的事件类型ID。
3.创建一个绑定器对象,第二个参数的取值位于[0,2]之间,它代表wxId标识号,该标识号用于wx.EvtHandler.Bind()方法去确定哪个对象是事件的源。
4.绑定事件的处理器。
5. 创建自定义事件对象,并把触发事件的控件的ID作为参数传给MyTestEvent的构造函数。
6.添加数据给事件。可以将一些您需要的信息通过这种方法传递进去。
7. ProcessEvent()的调用将这个新事件引入到事件处理系统中,GetEventHandler()调用返回wx.EvtHandler的一个实例,也就是窗口对象本身,即:MyFrame。
8.绑定事件处理函数,这里的事件处理方式是通过MessageDialog显示出传入的事件参数。
希望本文所述对大家Python程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Pengenalan ringkas kepada GUI pengaturcaraan GUI python (Antara Muka Pengguna Grafik, antara muka pengguna grafik) ialah cara yang membolehkan pengguna berinteraksi dengan komputer secara grafik. Pengaturcaraan GUI merujuk kepada penggunaan bahasa pengaturcaraan untuk mencipta antara muka pengguna grafik. Python ialah bahasa pengaturcaraan popular yang menyediakan perpustakaan GUI yang kaya, menjadikan pengaturcaraan GUI Python sangat mudah. Pengenalan kepada perpustakaan GUI Python Terdapat banyak perpustakaan GUI dalam Python, yang paling biasa digunakan ialah: Tkinter: Tkinter ialah perpustakaan GUI yang disertakan dengan perpustakaan standard Python Ia mudah dan mudah digunakan, tetapi mempunyai fungsi yang terhad. PyQt: PyQt ialah perpustakaan GUI merentas platform dengan fungsi yang berkuasa.

Vue.js ialah rangka kerja JavaScript popular yang menyediakan banyak ciri mudah, jadi ia sangat berguna apabila membangunkan aplikasi web. Sistem acara tersuai dalam Vue.js menjadikannya lebih fleksibel dan membolehkan kebolehgunaan semula kod yang lebih baik melalui penembakan dan pengendalian acara komponen. Dalam artikel ini, kami akan membincangkan cara menggunakan acara tersuai dengan Vue.js. Asas acara tersuai dalam Vue.js Dalam Vue.js, kita boleh mendengar acara DOM melalui arahan v-on. Sebagai contoh,

Python ialah bahasa pengaturcaraan yang ringkas, mudah dipelajari dan cekap. Ia digunakan secara meluas dalam pelbagai bidang seperti sains data, kecerdasan buatan, pembangunan permainan, pengaturcaraan rangkaian, dll. Walaupun Python disertakan dengan beberapa perpustakaan GUI, fungsinya agak mudah dan tidak dapat memenuhi keperluan pelbagai aplikasi yang kompleks. Oleh itu, terdapat banyak perpustakaan GUI dalam Python untuk dipilih, antaranya wxPython adalah salah satu daripadanya, yang artikel ini akan memperkenalkan secara terperinci. Pengenalan kepada wxPython wxPython ialah sumber terbuka, perpustakaan GUI merentas platform berdasarkan

Pengenalan kepada pengaturcaraan pythonGUI Pengaturcaraan PythonGUI, iaitu pengaturcaraan antara muka pengguna grafik, ialah proses mencipta antara muka program aplikasi menggunakan bahasa Python. Aplikasi GUI biasanya mempunyai elemen seperti tingkap, butang, kotak teks, menu, dsb., di mana pengguna boleh berinteraksi dengan program. Pengaturcaraan GUI Python mempunyai banyak faedah. Pertama, ia boleh menjadikan program anda lebih cantik dan lebih mudah digunakan. Kedua, ia boleh menjadikan program anda merentas platform, iaitu, ia boleh dijalankan pada sistem pengendalian yang berbeza. Ketiga, ia boleh menjadikan program anda lebih fleksibel dan lebih mudah untuk dilanjutkan. Perpustakaan GUI Python yang biasa digunakan Dalam Python, terdapat banyak perpustakaan GUI yang biasa digunakan, termasuk Tkinter, PyQt, wxPython dan PyG

Pengaturcaraan PythonGUI, seperti namanya, ialah teknologi pengaturcaraan yang menggunakan bahasa Python untuk mencipta antara muka pengguna grafik (GUI). Pengaturcaraan GUI Python mempunyai banyak kelebihan, seperti: platform silang, sokongan perpustakaan pihak ketiga yang kaya, sintaks ringkas, dsb. Oleh itu, pengaturcaraan GUI Python amat digemari oleh pengaturcara dan digunakan secara meluas dalam pelbagai jenis pembangunan aplikasi. Dalam pengaturcaraan GUI Python, perpustakaan pihak ketiga yang paling biasa digunakan ialah Tkinter, PyQt dan wxPython. Tkinter adalah sebahagian daripada pustaka standard Python dan mudah dan mudah digunakan, tetapi mempunyai fungsi terhad. PyQt dan wxPython ialah perpustakaan GUI pihak ketiga yang berkuasa, tetapi ia juga lebih

1. Asas pengaturcaraan pythonGUI Pengaturcaraan PythonGUI merujuk kepada proses mencipta antara muka pengguna grafik (GUI) menggunakan bahasa Python. GUI ialah antara muka untuk pengguna berinteraksi dengan aplikasi, biasanya terdiri daripada tingkap, butang, kotak teks, kotak senarai dan kawalan lain. Python menyediakan pelbagai perpustakaan GUI, seperti Tkinter, PyQt, wxPython, dll. Perpustakaan ini menyediakan kawalan yang kaya dan mekanisme pengendalian acara, membolehkan pengaturcara Python mencipta aplikasi GUI yang cantik dan praktikal dengan mudah. 2. Bermula dengan Pengaturcaraan PythonGUI Memasang Perpustakaan PythonGUI Sebelum memulakan pengaturcaraan GUI, anda perlu memasang perpustakaan PythonGUI terlebih dahulu. Mengambil Tkinter sebagai contoh, anda boleh

Python ialah bahasa pengaturcaraan yang mudah dipelajari dan berkuasa sesuai untuk pembangunan dalam pelbagai bidang. Dalam Python, terdapat pelbagai perpustakaan antara muka pengguna grafik (GUI) tersedia yang membantu pembangun mencipta aplikasi desktop interaktif. Artikel ini akan memperkenalkan beberapa perpustakaan GUI Python yang biasa digunakan dan menyediakan contoh kod khusus. Tkinter: Tkinter ialah perpustakaan GUI standard Python yang menyediakan fungsi untuk mencipta aplikasi tetingkap mudah. Menggunakan Tkinter, kita boleh dengan mudah

Penggunaan dan senario biasa acara tersuai Vue Vue.js ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Dalam Vue, kami boleh melaksanakan komunikasi antara komponen melalui acara tersuai. Acara tersuai ialah salah satu ciri yang sangat berguna dalam Vue, membolehkan kami menghantar data antara komponen yang berbeza dan mencetuskan gelagat tertentu. Artikel ini akan memperkenalkan penggunaan dan senario biasa acara tersuai dalam Vue, dan memberikan contoh kod khusus. 1. Penggunaan asas acara tersuai Dalam Vue, kita boleh
