天天看點

python GUI程式設計

python GUI程式設計(Tkinter)

python提供了多個圖形開發界面的庫,幾個常用Python GUI庫如下:

Tkinter: Tkinter子產品("Tk 接口")是Python的标準Tk GUI工具包的接口.Tk和Tkinter可以在大多數的Unix平台下使用,同樣可以應用在Windows和Macintosh系統裡.,Tk8.0的後續版本可以實作本地視窗風格,并良好地運作在絕大多數平台中。

wxPython:wxPython 是一款開源軟體,是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程式員很友善的建立完整的、功能鍵全的 GUI 使用者界面。

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程式

1、導入Tkinter子產品

2、建立控件

3、指定這個控件的master, 即這個控件屬于哪一個

4、告訴GM(geometry manager)有一個控件産生了。

執行個體:

以上代碼執行結果如下圖:

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()

位置;