Tkinter是什麼
Tkinter 是使用 python 進行窗口視窗設計的模塊。Tkinter模塊("Tk 接口")是Python的標準Tk GUI工具包的接口。做爲 python 特定的GUI界面,是一個圖像的窗口,tkinter是python 自帶的,能夠編輯的GUI界面,咱們能夠用GUI 實現不少直觀的功能,好比想開發一個計算器,若是隻是一個程序輸入,輸出窗口的話,是沒用用戶體驗的。全部開發一個圖像化的小窗口,就是必要的。
對於稍有GUI編程經驗的人來講,Python的Tkinter界面庫是很是簡單的。python的GUI庫很是多,選擇Tkinter,一是最爲簡單,二是自帶庫,不需下載安裝,隨時使用,三則是從需求出發,Python做爲一種腳本語言,一種膠水語言,通常不會用它來開發複雜的桌面應用,它並不具有這方面的優點,使用Python,能夠把它做爲一個靈活的工具,而不是做爲主要開發語言,那麼在工做中,須要製做一個小工具,確定是須要有界面的,不只本身用,也能分享別人使用,在這種需求下,Tkinter是足夠勝任的!
這篇文章主要作一個簡單概述和實踐編程,對於從沒有接觸過GUI的新手,在腦中樹立一個基本的界面編程概念,同時本身也能學會如何簡單的實現一些小的圖形窗口功能。
對於Tkinter編程,能夠用兩個比喻來理解:
第一個,做畫。咱們都見過美術生寫生的情景,先支一個畫架,放上畫板,蒙上畫布,構思內容,用鉛筆畫草圖,組織結構和比例,調色板調色,最後畫筆勾勒。相應的,對應到tkinter編程,那麼咱們的顯示屏就是支起來的畫架,根窗體就是畫板,在tkinter中則是Toplevel,畫布就是tkinter中的容器(Frame),畫板上能夠放不少張畫布(Convas),tkinter中的容器中也能夠放不少個容器,繪畫中的構圖佈局則是tkinter中的佈局管理器(幾何管理器),繪畫的內容就是tkinter中的一個個小組件,一幅畫由許多元素構成,而咱們的GUI界面,就是有一個個組件拼裝起來的,它們就是widget。
第二個,咱們小時候都玩過積木,只要發揮創意,相同的積木能夠堆出各類造型。
tkinter的組件也能夠看作一個個積木,形狀或許不一樣,其本質都是同樣的,就是一個積木,無論它長什麼樣子,它始終就是積木!因此這些小組件都有許多共性,另外,我的認爲,學習界面編程,最重要的不是一開始學習每一個積木的樣子,不是學習每一個組件怎麼用,而是這些組件該怎麼放。
初始學習中,怎麼放遠遠比怎麼用重要的多。網上有大量的文章資料,基本全是介紹組件怎麼用的,對於怎麼放,也就是tkinter中的佈局管理器,都是一筆帶過,這對初學者有點本末倒置,或許絕大部分是轉載的緣由吧,極少是本身真正寫的。
組件怎麼用不是最迫切的,用到的時候再去了解也不遲,邊用邊學反而更好。所以我將專門寫一章,詳細介紹佈局管理器的使用。
經常使用窗口部件及簡要說明
Tkinter支持16個核心的窗口部件,這個16個核心窗口部件類簡要描述以下:
Button:一個簡單的按鈕,用來執行一個命令或別的操做。
Canvas:組織圖形。這個部件能夠用來繪製圖表和圖,建立圖形編輯器,實現定製窗口部件。
Checkbutton:表明一個變量,它有兩個不一樣的值。點擊這個按鈕將會在這兩個值間切換。
Entry:文本輸入域。
Frame:一個容器窗口部件。幀能夠有邊框和背景,當建立一個應用程序或dialog(對話)版面時,幀被用來組織其它的窗口部件。
Label:顯示一個文本或圖象。
Listbox:顯示供選方案的一個列表。listbox可以被配置來獲得radiobutton或checklist的行爲。
Menu:菜單條。用來實現下拉和彈出式菜單。
Menubutton:菜單按鈕。用來實現下拉式菜單。
Message:顯示一文本。相似label窗口部件,可是可以自動地調整文本到給定的寬度或比率。
Radiobutton:表明一個變量,它能夠有多個值中的一個。點擊它將爲這個變量設置值,而且清除與這同一變量相關的其它radiobutton。
Scale:容許你經過滑塊來設置一數字值。
Scrollbar:爲配合使用canvas, entry, listbox, and text窗口部件的標準滾動條。
Text:格式化文本顯示。容許你用不一樣的樣式和屬性來顯示和編輯文本。同時支持內嵌圖象和窗口。
Toplevel:一個容器窗口部件,做爲一個單獨的、最上面的窗口顯示。
messageBox:消息框,用於顯示你應用程序的消息框。(Python2中爲tkMessagebox)
注意在Tkinter中窗口部件類沒有分級;全部的窗口部件類在樹中都是兄弟關係。
全部這些窗口部件提供了Misc和幾何管理方法、配置管理方法和部件本身定義的另外的方法。此外,Toplevel類也提供窗口管理接口。這意味一個典型的窗口部件類提供了大約150種方法。