python提供了多個圖形開發界面的庫,幾個經常使用Python GUI庫以下:python
Tkinter: Tkinter模塊("Tk 接口")是Python的標準Tk GUI工具包的接口.Tk和Tkinter能夠在大多數的Unix平臺下使用,一樣能夠應用在Windows和Macintosh系統裏.,Tk8.0的後續版本能夠實現本地窗口風格,並良好地運行在絕大多數平臺中。程序員
wxPython:wxPython 是一款開源軟件,是 Python 語言的一套優秀的 GUI 圖形庫,容許 Python 程序員很方便的建立完整的、功能鍵全的 GUI 用戶界面。web
Jython:Jython程序能夠和Java無縫集成。除了一些標準模塊,Jython使用Java的模塊。Jython幾乎擁有標準的Python中不依賴於C語言的所有模塊。好比,Jython的用戶界面將使用Swing,AWT或者SWT。Jython能夠被動態或靜態地編譯成Java字節碼。編程
Tkinter 是Python的標準GUI庫。Python使用Tkinter能夠快速的建立GUI應用程序。框架
因爲Tkinter是內置到python的安裝包中、只要安裝好Python以後就能import Tkinter庫、並且IDLE也是用Tkinter編寫而成、對於簡單的圖形界面Tkinter仍是能應付自如。工具
建立一個GUI程序oop
一、導入Tkinter模塊佈局
二、建立控件字體
三、指定這個控件的master, 即這個控件屬於哪個spa
四、告訴GM(geometry manager)有一個控件產生了。
實例:
#!/usr/bin/python import Tkinter top = Tkinter.Tk() # 進入消息循環 top.mainloop()
以上代碼執行結果以下圖:
Tkinter的提供各類控件,如按鈕,標籤和文本框,一個GUI應用程序中使用。這些控件一般被稱爲控件或者部件。
目前有15種Tkinter的部件。咱們提出這些部件以及一個簡短的介紹,在下面的表:
控件 | 描述 |
---|---|
Button | 按鈕控件;在程序中顯示按鈕。 |
Canvas | 畫布控件;顯示圖形元素如線條或文本 |
Checkbutton | 多選框控件;用於在程序中提供多項選擇框 |
Entry | 輸入控件;用於顯示簡單的文本內容 |
Frame | 框架控件;在屏幕上顯示一個矩形區域,多用來做爲容器 |
Label | 標籤控件;能夠顯示文本和位圖 |
Listbox | 列表框控件;在Listbox窗口小部件是用來顯示一個字符串列表給用戶 |
Menubutton | 菜單按鈕控件,因爲顯示菜單項。 |
Menu | 菜單控件;顯示菜單欄,下拉菜單和彈出菜單 |
Message | 消息控件;用來顯示多行文本,與label比較相似 |
Radiobutton | 單選按鈕控件;顯示一個單選的按鈕狀態 |
Scale | 範圍控件;顯示一個數值刻度,爲輸出限定範圍的數字區間 |
Scrollbar | 滾動條控件,當內容超過可視化區域時使用,如列表框。. |
Text | 文本控件;用於顯示多行文本 |
Toplevel | 容器控件;用來提供一個單獨的對話框,和Frame比較相似 |
Spinbox | 輸入控件;與Entry相似,可是能夠指定輸入範圍值 |
PanedWindow | PanedWindow是一個窗口布局管理的插件,能夠包含一個或者多個子控件。 |
LabelFrame | labelframe 是一個簡單的容器控件。經常使用與複雜的窗口布局。 |
tkMessageBox | 用於顯示你應用程序的消息框。 |
標準屬性也就是全部控件的共同屬性,如大小,字體和顏色等等。
屬性 | 描述 |
Dimension | 控件大小; |
Color | 控件顏色; |
Font | 控件字體; |
Anchor | 錨點; |
Relief | 控件樣式; |
Bitmap | 位圖; |
Cursor | 光標; |
Tkinter控件有特定的幾何狀態管理方法,管理整個控件區域組織,一下是Tkinter公開的幾何管理類:包、網格、位置
幾何方法 | 描述 |
pack() | 包裝; |
grid() | 網格; |
place() | 位置; |