Python Tkinter 學習筆記(二)Hello_again

來源:互聯網
上載者:User

標籤:

#hello_again.pyfrom tkinter import *class App:    def __init__(self,master):        frame = Frame(master)        frame.pack()        self.button = Button(            frame, text="關閉",fg="blue",command=frame.quit            )
#也可以用foreground代替fg(縮寫) self.button.pack(side=LEFT) self.hi_there = Button( frame, text="Hello",command=self.say_hi ) self.hi_there.pack(side=LEFT) def say_hi(self): print("Hi,fudianheg.This is version 2 of ‘hello world‘")root = Tk()app = App(root)root.mainloop()#root.destory()寫錯一個單詞怪不得銷毀不了視窗...
root.destroy()

 

運行結果: 

  當編寫大的程式項目時,最好把代碼用類包起來。

 

  點擊Hello時,控制台會顯示:

    "Hi,fudianheg.This is version 2 of ‘hello world‘

  點擊關閉時,程式就終止了。

 

  __init__會建立一個parent widget(master),由(Frame)建立,儲存在一個(frame)變數中。

建立這個視窗後,用(pack)函數顯示出來。

  隨後建立兩個Button組件作為frame的子組件,並且用(pack)函數顯示。

  我們在組件的建構函式中用了許多選項,作為關鍵字參數。第一個按鈕顯示“關閉”,並且用blue作為前景色彩,第二個顯示“Hello”,也同樣用了(command)選項。這個特殊的command選項指定一個函數,或者(在本例中)綁定的方法。

  這兩個Button組件儲存於執行個體中,它們緊密挨在一起,加上了side=LEFT選項後,則依次靠左排列,如果side選項沒有加,那麼預設是TOP,效果

  接下來,建立一個root,把root作為參數建立一個父視窗,執行mainloop迴圈。

  還有root.destroy()是可選的,有的環境在要在程式結束後才能退出,就要加上這一條。(例如博主的環境就是這樣)

 

 

後記:

  事實上建立一個視窗組件不一定需要儲存在具體的變數中。如果在建立之後並不需要對它進行操作,那麼可以用這種寫法:

 

  Button(frame, text="Hello", command=self.hello).pack(side=LEFT)

  如果需要在建立之後再操作,或者為了保險起見,也可以存起來

 

  w = Button(frame, text="Hello", command=self.hello)

  w.pack(side=LEFT)

 

 



後記:
  在Tcl編程中,如果要建立一個叫做“OK”的Button,作為dialog的子視窗,則要這樣寫:
    button.dialog.ok
  在Tkinter中是這樣的:
    ok = Button(dialog)
  Tkinter會自動為每個視窗分配名字,上式ok和dialog只是參考,並不是真正的名字,真正地名字用str()讀出來,如果要確定每個視窗組件的名字,那麼可以這樣:
    ok = Button(dialog, name="ok")
  那麼這個視窗的名字叫.dialog.ok(如果你忘了dialog的名字,那可能就叫.1234323.ok之類的),視窗組件一旦被建立名字就不能變。
 




  

 

  

Python Tkinter 學習筆記(二)Hello_again

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.