2012年2月20日 星期一

wxPython 學習筆記 事件 event

來源:http://www.wretch.cc/blog/DieWanger/10375486
http://docs.wxwidgets.org/trunk/classwx_list_event.html

wxPython 學習筆記 事件 event


當觸發條件滿足後,觸發的動作.

例如:按下右鍵後,開啟一個視窗
或是移動滑鼠並將滑鼠的座標顯示出來


在python中,事件event的運作是透過以下三個步驟來進行
1.給定觸發條件類型如 wx.EVT_SIZE, wx.EVT_CLOSE等
2.創造
條件觸發後的要處理的觸發事件
3.將事件與條件綁定連結(Bind )在一起


Ex1. 創造一個視窗,當滑鼠進入視窗時,顯示進入訊息,當按左鍵時,顯示按鈕訊息
下一張(熱鍵:c) 

source:
import wx
class mouseEvent(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(400, 200))
        self.Bind(wx.EVT_LEFT_DOWN, self.LEFT_DOWN)
        self.Bind(wx.EVT_ENTER_WINDOW, self.enter)
        self.Centre()
        self.Show(True)
    def LEFT_DOWN(self, event):
        wx.StaticText(self,label=u"you click the left buttom",pos=(0,0))
    def enter(self, event):
        wx.StaticText(self,label=u"mouse enter the window",pos=(0,30))
app = wx.App()
mouseEvent(None, -1, 'mouse motion')
app.MainLoop()

淡藍色區域的
self.Bind(wx.EVT_LEFT_DOWN, self.LEFT_DOWN) 是將按滑鼠左鍵,跟觸發後的執行程式LEFT_DOWN綁定在一起.淡藍色區域的def LEFT_DOWN(self, event):是定義這個觸發事件是將"you click the left buttom"顯示在螢幕淡綠色區域的self.Bind(wx.EVT_ENTER_WINDOW, self.enter) 是將滑鼠移入視窗,跟觸發後的執行程式enter綁定在一起.淡綠色區域的def enter(self, event):是定義這個觸發事件是將"mouse enter the window"顯示在螢幕


wxpython中常用的class
wx.EVT_LEFT_DOWN 按左鍵
wx.EVT_LEFT_UP 放左鍵
wx.EVT_LEFT_DCLICK  雙擊
左鍵
wx.EVT_MIDDLE_DOWN 
按滾輪鍵 (大概吧  我沒玩過)
wx.EVT_MIDDLE_UP
 放滾輪鍵
wx.EVT_MIDDLE_DCLICK 雙擊滾輪鍵
wx.EVT_RIGHT_DOWN 按右鍵
wx.EVT_RIGHT_UP 放右鍵
wx.EVT_RIGHT_DCLICK 雙擊右鍵
wx.EVT_MOTION 移動滑鼠
wx.
EVT_ENTER_WINDOW 滑鼠移入視窗
wx.
EVT_LEAVE_WINDOW 滑鼠移出視窗wx.EVT_MOUSEWHEEL 滑鼠滾輪紐
wx.EVT_MOUSE_EVENTS (不清楚,大概只要有動作就觸發吧)
wx.EVT_SIZE  當視窗大小改變時觸發事件
wx.EVT_MOVE  當視窗位置改變時觸發事件
wx.EVT_CLOSE 當框架frame被請關閉時觸發事件wx.EVT_PAINT 當只要視窗有部份被重畫時觸發事件
wx.EVT_CHAR 當視窗被選取時,送出一個字元?(when the window has the focus)wx.EVT_IDLE 當沒有其他事件被觸發時,週期性的觸發事件wx.EVT_SCROLL 當視窗捲軸被超作時觸發事件wx.EVT_BUTTON 當按鈕被按下去時,觸發事件wx.EVT_MENU 當選單裡的物件被選擇時,觸發事件

沒有留言:

張貼留言