Tkinter是什麼:
Tkinter 是使用 python 進行窗口視窗設計的模塊。Tkinter模塊("Tk 接口")是Python的標準Tk GUI工具包的接口。作爲 python 特定的GUI界面,是一個圖像的窗口,tkinter是python 自帶的,可以編輯的GUI界面,我們可以用GUI 實現很多直觀的功能,比如想開發一個計算器,如果只是一個程序輸入,輸出窗口的話,是沒用用戶體驗的。所有開發一個圖像化的小窗口,就是必要的。
1. 創建主窗口及Label部件(標籤)創建使用
測試效果:
2.Button窗口部件
簡單說明:
Button(按鈕)部件是一個標準的Tkinter窗口部件,用來實現各種按鈕。按鈕能夠包含文本或圖象,並且你能夠將按鈕與一個Python函數或方法相關聯。當這個按鈕被按下時,Tkinter自動調用相關聯的函數或方法。
如何創建:
普通的按鈕很容易被創建,僅僅指定按鈕的內容(文本、位圖、圖象)和一個當按鈕被按下時的回調函數即可:
b = tk.Button(window, text="hit me", command=hit_me)
示例代碼:
測試效果:
3. Entry窗口部件
單說明:
Entry是tkinter類中提供的的一個單行文本輸入域,用來輸入顯示一行文本,收集鍵盤輸入(類似 HTML 中的 text)。
什麼時候用:
需要用戶輸入用戶信息時,比如我們平時使用軟件、登錄網頁時,用戶交互界面讓我們登錄賬戶信息等時候可以用到。
示例代碼:
測試效果:
4. Text窗口部件
簡單說明:
Text是tkinter類中提供的的一個多行文本區域,顯示多行文本,可用來收集(或顯示)用戶輸入的文字(類似 HTML 中的 textarea),格式化文本顯示,允許你用不同的樣式和屬性來顯示和編輯文本,同時支持內嵌圖象和窗口。
什麼時候用:
在需要顯示編輯用戶、產品多行信息時,比如顯示用戶詳細描述文字,產品簡介等等,支持隨時編輯。
示例代碼:
5. Listbox窗口部件
簡單說明:
Text是tkinter類中提供的的列表框部件,顯示供選方案的一個列表。listbox能夠被配置來得到radiobutton或checklist的行爲。
什麼時候用:
在有一個很多內容選項組成的列表提供用戶選擇時會用到。
示例代碼:
測試效果:
6. Radiobutton窗口部件
簡單說明:
Radiobutton:代表一個變量,它可以有多個值中的一個。點擊它將爲這個變量設置值,並且清除與這同一變量相關的其它radiobutton。
什麼時候用:
在有一個很多內容選項組成的選項列表提供用戶選擇時會用到,用戶一次只能選擇其中一個,不能多選。
示例代碼:
測試效果:
7. Checkbutton窗口部件
簡單說明:
Checkbutton:代表一個變量,它有兩個不同的值。點擊這個按鈕將會在這兩個值間切換,選擇和取消選擇。
什麼時候用:
在有一個很多內容選項組成的選項列表提供用戶選擇時會用到,用戶一次可以選擇多個。
示例代碼:
測試效果:
8. Scale窗口部件
簡單說明:
Scale: 尺度(拉動條),允許你通過滑塊來設置一數字值。
什麼時候用:
在需要用戶給出評價等級,或者給出一個評價分數,或者拉動滑動條提供一個具體的數值等等。
示例代碼:
測試效果:
9.Frame 窗口部件
簡單說明:
Frame:框架,用來承載放置其他GUI元素,就是一個容器,是一個在 Windows 上分離小區域的部件, 它能將 Windows 分成不同的區,然後存放不同的其他部件. 同時一個 Frame 上也能再分成兩個 Frame, Frame 可以認爲是一種容器.
什麼時候用:
在比如像軟件或網頁交互界面等,有不同的界面邏輯層級和功能區域劃分時可以用到,讓交互界面邏輯更加清晰。
示例代碼:
測試效果:
10.messageBox窗口部件
簡單說明:
messageBox:消息框,用於顯示你應用程序的消息框。其實這裏的messageBox就是我們平時看到的彈窗。 我們首先需要定義一個觸發功能,來觸發這個彈窗,這裏我們就放上以前學過的button按鈕,通過觸發功能,調用messagebox吧,點擊button按鈕就會彈出提示對話框。下面給出messagebox提示信息的幾種形式:
|
什麼時候用:
在比如像軟件或網頁交互界面等,有不同的界面邏輯層級和功能區域劃分時可以用到,讓交互界面邏輯更加清晰。
示例代碼:
測試效果:
11. Canvas窗口部件
簡單說明:
Canvas:畫布,提供繪圖功能(直線、橢圓、多邊形、矩形) 可以包含圖形或位圖,用來繪製圖表和圖,創建圖形編輯器,實現定製窗口部件。
什麼時候用:
在比如像用戶交互界面等,需要提供設計的圖標、圖形、logo等信息是可以用到畫布。
示例代碼:
測試效果:
圖片錨定點位置參數圖:
12. 窗口部件三种放置方式pack/grid/place
1. Grid:The Grid Geometry Manager
grid 是方格, 所以所有的內容會被放在這些規律的方格中。例如:
|
以上的代碼就是創建一個三行三列的表格,其實 grid 就是用表格的形式定位的。這裏的參數 row 爲行,column 爲列,padx 就是單元格左右間距,pady 就是單元格上下間距,ipadx是單元格內部元素與單元格的左右間距,ipady是單元格內部元素與單元格的上下間距。
示例代碼:
測試效果:
2. Pack:The Pack Geometry Manager
我們常用的pack(), 他會按照上下左右的方式排列.例如:
|
示例代碼:
測試效果:
3. Place:The Place Geometry Manager
再接下來我們來看place(), 這個比較容易理解,就是給精確的座標來定位,如此處給的(50, 100),就是將這個部件放在座標爲(x=50, y=100)的這個位置, 後面的參數 anchor='nw',就是前面所講的錨定點是西北角。例如:
1 |
|
示例代碼:
測試效果: