日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/3/11 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python调用菜单响应事件_[Python] wxpython 编程触发菜单或按钮事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近逐步熟悉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

以上。

總結

以上是生活随笔為你收集整理的python调用菜单响应事件_[Python] wxpython 编程触发菜单或按钮事件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。