來說說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),因不同的應用範例,來說明設計的過程及產生的效果。

創作者介紹
創作者 python愛玩客 的頭像
阿丹

python愛玩客

阿丹 發表在 痞客邦 留言(0) 人氣( 446 )