#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wx
class MyApp(wx.App):
def OnInit(self):
frame=MyFrame(title=u"視窗",pos=(100,150),size=(250,200))
frame.Show()
self.SetTopWindow(frame)
return True
class MyFrame(wx.Frame):
def __init__(self,title,pos,size):
wx.Frame.__init__(self,None,-1,title,pos,size) # 備用,使用取代 frame 的 OnInit()
#建立panel
panel=wx.Panel(self)
#新增一個按鈕並把它加到panel裡面
button=wx.Button(panel,label=u"按鍵_1",pos=(25,25),size=(80,50))
#新增另一個按鈕並把它加到panel裡面
button_2=wx.Button(panel,label=u"按鍵_2",pos=(25,100),size=(80,50))
# 建立事件監聽 #############################################################
# 攔截「右上角 x 之視窗關閉鍵 wx.EVT_CLOSE」,轉向 OnCloseWin,得 :確定要關閉程式
self.Bind(wx.EVT_CLOSE,self.OnCloseWin)
#攔截「按 button 鍵 wx.EVT_BUTTON 」,轉向 OnClick ,得出 : 你按了 '按鍵1'
self.Bind(wx.EVT_BUTTON,self.OnClick_1,button)
#攔截「按 button 鍵 wx.EVT_BUTTON 」,轉向 OnClick ,得出 : 你按了 '按鍵1'
self.Bind(wx.EVT_BUTTON,self.OnClick_2,button_2)
#定義按鈕案下的函數
def OnClick_1(self,event):
wx.MessageBox(u"你按了 '按鍵_1' ",u"提示訊息")
def OnClick_2(self,event):
wx.MessageBox(u"你按了 '按鍵_2' ",u"提示訊息")
#定義按下關閉視窗(右上X)的函數
def OnCloseWin(self,event):
dlg=wx.MessageDialog(None,u"確定要關閉程式?",u"提示訊息",wx.YES_NO)
#按下YES才會關閉視窗
if dlg.ShowModal()==wx.ID_YES:
self.Destroy()
if __name__=="__main__":
app = MyApp()
app.MainLoop()
沒有留言:
張貼留言