3

Python的學習之旅-建立一個有按鈕的視窗

jackaitw 5 年前9073 瀏覽

上次介紹了wxpython並寫了會顯示一個視窗的程式
結果太陽大大說:"感覺不用動手,程式就會自己跑出來了"
我也覺得這樣的開發工具比較適合我這種懶人
今天的進度是要學習建立一個按鈕
我們就開始吧!
首先請參考wxPython Programming Tutorial - 2 - Creating Buttons
網址如下:
http://www.youtube.com/watch?v=cp1ZeMisTNo&NR=1
首先利用上次建立視窗的程式再新增幾行指令

panel=wx.Panel(self)
        button=wx.Button(panel,label="exit",pos=(130,10),size=(60,60))
        self.Bind(wx.EVT_BUTTON, self.closebutton, button)
        self.Bind(wx.EVT_CLOSE, self.closewindow)

上面的指令是要建立一個標籤名稱為exit的按鈕
並且顯示在x軸130和Y軸10的地方
大小為60x60
因此當執行程式時就會出現如下圖的視窗

接下來就來分析他的程式吧!

  def closebutton(self,event):
        self.Close(True)

上面的指令是建立一個function做為當按下exit的按鈕時,視窗就關閉掉

  def closewindow(self, event):
        self.Destroy()

上面的指令是建立一個function做為當按下視窗右上角的X按鈕時,視窗就關閉掉

完整的程式如下所示,請將它儲存到C:\python25\button.py

import wx
class bucky(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,'Frame jackaitw window',size=(300,200))
        panel=wx.Panel(self)
        button=wx.Button(panel,label="exit",pos=(130,10),size=(60,60))
        self.Bind(wx.EVT_BUTTON, self.closebutton, button)
        self.Bind(wx.EVT_CLOSE, self.closewindow)
    def closebutton(self,event):
        self.Close(True)
       
    def closewindow(self, event):
        self.Destroy()
       
if __name__ =='__main__':
    app=wx.PySimpleApp()
    frame=bucky(parent=None,id=-1)
    frame.Show()
    app.MainLoop() 

自己試試看吧!您可以試著將按鈕移到畫面中間,呵呵!只要改變x軸和y軸的數值即可.
延伸閱讀:

  1. wxpython編輯器介紹http://ithelp.ithome.com.tw/question/10012513?tag=rt.rq
  2. wxpython程式套件介紹http://zetcode.com/wxpython/

尚未有邦友留言

立即登入留言