1. 程式人生 > >Tkinter系列教程01—引言和安裝Tk—Python GUI程式設計

Tkinter系列教程01—引言和安裝Tk—Python GUI程式設計

[toc] # Tkinter教程系列01——引言和安裝Tk 首發於我的個人部落格 https://chens.life/tkinter-tutorial-chapter-01-introduction-and-install-tk.html ## 引言 這個教程針對於 Tkinter 的初學者而攥寫,但也應該具有 Python 的基礎知識。 此教程是我學習 Tk 的記錄和總結,希望能夠幫助到他人。 此教程針對 Tk 8.5或者更高版本,如果不是,請安裝最新版。本教程使用 Python 進行演示,如果使用其他語言,Tk函式庫的大部分都是相同的,詳細區別請查詢對應的文件。 本教程覆蓋 95% 的在程式中會用到的基本內容,剩下的請自請查詢參考文件。 ### 什麼是Tkinter Tkinter是當前主流的,也是 Python 的標準圖形化使用者介面工具包。我們在初學 Python 的時候肯定都用過 IDLE,而這個小型的IDE就是用 Tkinter 開發出來的,足以見到它的方便和易用性(圖1-1)。使用 Tk 可以編寫實用的圖形介面小程式,設計現代的圖形介面。 ![1-1](https://pic.chens.life/images/2021/04/01/20210401194615.png) ## 安裝 Tk ### 為 Windows 安裝 Tk 自從 Python 3.1 之後,Tkinter 就被包括在 Python標準庫中。你必須確保自己的 Python 版本支援 Tk 8.5 或者更高版本。本教程使用 Python 3.x。請在 Python [官網下載頁面](https://www.python.org/downloads/)下載最新版 Python 。 ### 驗證是否安裝正確 安裝之後,需要驗證 tkinter 版本是否正確。開啟 cmd,輸入 `python` 進入互動介面,並輸入下面兩行命令: ~~~python import tkinter tkinter._test() ~~~ 你將會看到一個小視窗,上面有 Tkinter 的版本資訊。注意!你的 Tk 版本必須大於 8.5 或者更高(圖1-2)。 ![1-2](https://pic.chens.life/images/2021/04/01/20210401200820.png) 或者,你可以輸入以下命令直接的得到 Tcl/Tk 的版本(圖1-3): ~~~python tkinter.Tcl().eval('info patchlevel') ~~~ ![1-3](https://pic.chens.life/images/2021/04/01/20210401201352.png) ### 為 GNU/Linux 安裝 Tk 由於Linux不會自動的安裝 Tk 和 ttk,所以需要手動的安裝。安裝有許多方式,這裡僅提供一種最簡單的方式。 ### 使用 Linux 的包管理器進行安裝 例如,如果你正在使用 Ubuntu 或者 Debian 系的 Linux 發行版,那麼輸入以下命令以安裝 `python3-tk`: ~~~bash sudo apt-get install python3-tk ~~~ 同樣的道理也適用於 ReadHat 系。 ### 驗證是否安裝正確 同 Windows 的驗證一樣,在 Python 的解釋命令列中輸入: ~~~python import tkinter tkinter._test() ~~~ 或者輸入以下命令直接的得到版本資訊: ~~~python tkinter.Tcl().eval('info patchlevel') ~~~ > 同樣的,注意你的 tk 版本必須為 8.5 或者更高版本! ## 第一個 Tk 程式 為了確保所有的環境都已經設定正確,按照慣例,我們來使用 Tk 編寫一個“Hello World!”程式。 使用你最拿手的編輯器敲下下面的程式碼即可,我們將在後續逐步講解它們的作用。 ~~~python from tkinter import * from tkinter import ttk root = Tk() ttk.Button(root, text="Hello World!").grid() root.mainloop() ~~~ 將檔案儲存為“hello.py”,在命令提示符或者 Bash 中輸入: ~~~python python hello.py ~~~ 如果找不到檔案,請檢視當前是否在檔案所在的目錄之中,或者輸入完整路徑名。 如果執行正確,你將會看到如圖所示的視窗(圖1-4)。 ![1-4](https://pic.chens.life/images/2021/04/01/202104012031