來說說tkinter吧!
說它的來由很生硬,我們就跳過不談,我們來說說tkinter主要是做什麼的?
前面提到,在軟體設計上,有一個很重要的一環,就是若您設計一個友善的使用者介面,就讓用戶有好的感覺,事情可以說就成功了一半,也許有些硬底工程師不是這麼看,但我保守地說,最起碼事情有一個好的開始吧。
那為什麼是tkinter呢?用Python內建的模組tkinter來設計UI有甚麼優勢呢?
- 它很直覺,白話一點說,很容易就上手實作。
- 它可以在不同的平台上執行,專業的說,設計出來的東西可以跨平台執行(Linux/Windows/Mac)。
- 它仍在改良進步中,ttkinter就是tkinter的美化版,代表還在進步。
- 它可以讓你的程式與GUI介面一體成形,在Python使用上很簡單的將tkinter匯入,也就是import tkinter就可馬上開始使用。
在開始前,先描述一下tkinter就其可用的部件(widget),大致上可將這些部件分為幾類,只要您善加利用,即便是每一類別您只要會一兩種,基本上大概就可以滿足所有的需求,當然,若您瞭解所有的部件(widget)的用途,設計起來的效果會更專業。
關於這些部件(widget)的分類及項目如下:
containers widgets(容器部件): frame、 toplevel、 paned window。
buttons widgets(按鈕部件): button、 radiobutton、 checkbutton (checkbox)、 menubutton (combobox)。
text widgets(文字部件): label、 labelframe、 message、 text。
entry widgets(輸入部件): scale、 scroll、 listbox、 slider、 spinbox、 entry (singleline)、 text (multiline)、 and canvas (vector and pixel graphics)。
另外tkinter又開發出來7種衍生出來的部件,讓我們在運用上更好利用因應不同的場景及用途:
tk_optionMenu, tk_dialog, tk_messageBox, tk_getOpenFile, tk_getSaveFile, tk_chooseColor, tk_chooseDirector
後來美化的版本ttkinter
此 ttk 模組包含了 17 種元件, 其中的 11 種是 Tkinter 原本已經有的 :
Frame 、Label、Labelframe、Button、Radiobutton、Checkbutton、Menubutton、Entry、Scale、Scrollbar、Panedwindow
另外 6 種是 ttk 推出的新元件 :
Combobox、Notebook、Progressbar、Separator、Sizegrip、
Treeview
若您使用ttkinter後,可以比較出它較原本的tkinter更漂亮一些。
運用Python內建的tkinter模組,快速設計GUI用戶介面(建立友善的使用者互動介面)
友善的互動介面很重要
大致上,我們在設計GUI介面的流程大致上如下面的sop
- 首先建立一個使用者看的到的視窗物件。
- 陸續在視窗中加入各項控制互動元件(也是物件)。
- 依每個部件的功能,讓各個物件產生效果及驅動物件背後的工作。
大致上學習的過程如下:
- 了解並學習tkinter可用的部件的特定用途。
- 運用其函數及參數定義您可用的視覺或示意效果。
- 加入互動效果,也就是加入程式邏輯,讓他完成互動後被賦予的任務。
之後,我會提供幾個範例(運用常用的幾個widget),因不同的應用範例,來說明設計的過程及產生的效果。
留言列表