什麼叫GUI(Graphical User Interface)-圖形方式顯示的電腦操作用戶介面
在日常生活中,我們在小7的ibon機器上訂票、在ATM上提款、在手遊上的使用必殺技打boss、在亞馬遜網站上申請會員、在醫院系統上網路掛號,這些您看到的畫面(人與機器互動的介面),其實都是由程式撰寫出來的,為什麼叫這些介面為GUI,因為我們用圖樣介面設計做法,透過設計視窗、圖示與按鈕,讓使用者一看就了解如何使用的介面來取代枯燥艱澀的輸入問答及只是條列式的互動。我們設計的程式中有一大部分是扮演著與人與系統機制互動的介面角色。雖然設計這些畫面的難度不高,但可千萬別輕忽這種介面設計的重要性,在設計的領域中,有另一個專業的領域叫做UI(User Interface)、UX(User Experience),也是在設計領域上目前的顯學,所教的就是使用者動線及友善的使用介面的設計。成功的系統,往往不是其功能最完整,也不是包山包海最強大,常常是使用者使用最上手,最便利才能勝出。所以記得一件事,最艱澀的難事不見得最有價值,最符合人性而易用的設計通常會無往不利。
原生的Python GUI設計工具-Tkinter
Python 擅長的領域在於數據資料處理、資料科學計算、網路爬蟲籍資料探勘等科學方面,我們也可以利用Python完成很多自動化的工作。雖然設計使用者界面並不是它的強項。但為了滿足設計一條鞭的優勢,Python自己也有提供不錯的GUI設計內含功能Tkinter,也因為Python的使用者越來越多,讓很多GUI專為GUI設計的專業工具如PyQt、wxPython、Kivy、PySide等願意提供整合應用於Python,但我個人覺得,Python這樣全包的程式工具,為了達成人機互動的良好目標,其內含的Tkinter就非常的powerful了,而且它有一個優勢,Tkinter是Python的內建模組,當Python存在,它就會存在,當然,有很多的使用介面是基於Web(網頁基礎)上設計的,雖然很親民,在網路上網頁無所不在,但常常基於網頁設計的互動介面,常會隨著瀏覽器的更新會出現相容性的問題,相對各有其利弊。
學習Python內含的GUI開發模組Tkinter對於已經有一定Python基礎的人而言是非常容易懂且易於學習,設計出來的程式碼在別人理解及閱讀上也很輕鬆,同時設計出來的GUI又能正常順利的在不同平台(Linux/Windows/Mac)上執行無誤,這些優點讓我不得不在Python的標準課程中介紹讓您認識,學會後拿來應用也讓您覺得自己很酷。有圖有真相,有產出有成就,我們就從如何運用Python內建的tkinter模組來設計友善的用戶使用介面來開始吧!