[Python教學] Tkinter:基礎入門-初識 GUI 程式設計

更新於 發佈於 閱讀時間約 4 分鐘

嘿,大家好!今天我們要一起踏入 Python 的 GUI(圖形用戶界面)世界,用的就是大名鼎鼎的 Tkinter!別緊張,Tkinter 超簡單、適合新手,而且它還是 Python 內建的,不用額外下載!準備好了嗎?我們即將開始,從零打造一個小視窗,順便聊聊 GUI 程式設計是什麼!


什麼是 Tkinter?為何選它?

簡單來說,Tkinter 是 Python 用來做桌面視窗應用程式的小幫手。想做個計算器、記事本,甚至是個小遊戲?它都能搞定!雖然它看起來有點「老派」(畢竟是基於 Tcl/Tk 的老技術),但它輕量、穩定,關鍵是學起來快,對初學者超友好。

為何選它?

  • 零成本:Python 內建,不用額外安裝。
  • 簡單上手:幾行程式碼就能做出個視窗。
  • 跨平台:Windows、Mac、Linux 通用。

當然啦,如果你想要超炫的界面,可能得看看 PyQt 或者 Kivy,但對新手來說,Tkinter 絕對是最佳起點!


先確認一下環境

Tkinter 通常隨著 Python 一起安裝,但我們還是需要確認一下。打開 Python 終端(或者 IDE 的控制台),輸入:

import tkinter

沒報錯?恭喜你,環境 OK!如果報錯說 ModuleNotFoundError,可能是 Python 安裝有點問題,試試重新安裝 Python。

成功找到模組

成功找到模組


找不到模組錯誤訊息

找不到模組錯誤訊息



第一個程式:產生視窗

好了,廢話不多說,我們直接開始寫程式!來寫個最簡單的視窗:

import tkinter as tk  # 導入 Tkinter,習慣上簡寫成 tk

# 創建主視窗
window = tk.Tk()

# 給視窗取個名字
window.title("我的第一個 Tkinter 視窗")

# 設置視窗大小(寬 x 高)
window.geometry("300x200")

# 進入主循環,讓視窗顯示出來
window.mainloop()

跑一下這段程式碼,一個乾淨的小視窗就蹦出來了!是不是有點成就感?

raw-image


解釋一下這幾行:

  1. tk.Tk():這是 Tkinter 的「起手式」,創建一個主視窗。
  2. title():為視窗設定標題,不然它就叫個無聊的「tk」。
  3. geometry():設置視窗大小,格式是 "寬x高",單位是像素。
  4. mainloop():將視窗開啟並顯示出來,它會一直跑著,等你關視窗才停。


玩一玩:調整視窗

光有個視窗有點單調,我們來對它做一點修改。比如,把視窗移到螢幕左上角,再換個顏色試試:

import tkinter as tk

window = tk.Tk()
window.title("酷炫小視窗")
window.geometry("400x300+100+50") # 寬400 高300,距離左邊100 上邊50
window.configure(bg="lightblue") # 背景改成淺藍色

window.mainloop()

跑跑看!視窗變大了,還跑到左上角,背景也變成淺藍色了。

raw-image


  • +100+50:這是視窗的坐標,距離螢幕左邊 100 像素,上邊 50 像素。
  • configure(bg="lightblue"):bg 是 background 的縮寫,換個顏色讓它有點活力。


小挑戰:動手試試

接下來換各位自己動手試試看,試著寫個自己的視窗,滿足這幾個要求:

  1. 將標題改成你喜歡的名字。
  2. 更改視窗大小。
  3. 背景色改成你喜歡的顏色(比如 "pink"、"green",或者查查其他顏色名)。
  4. 讓視窗出現在螢幕正中間(提示:不加坐標,它會自動居中)。

寫好了跑一下,看看效果,然後可以截圖炫耀一下!


結語

今天我們算是和 Tkinter 有了初步的認識,學會了怎麼產生一個視窗,還能隨手調整它的樣子。是不是沒想像中那麼難?GUI 編程的核心就是這樣:你告訴電腦「我要個視窗,長這樣」,然後它乖乖聽話顯示出來。

下次我們會往視窗裡新增一點東西,比如按鈕、文字等等,讓它更有趣。準備好了嗎?我們下篇見!


留言
avatar-img
留言分享你的想法!
avatar-img
追極光的北極熊|軟體工程師的小天地
12會員
163內容數
歡迎來到我的部落格!這裡記錄了軟體工程師的日常生活點滴,並分享程式設計與演算法的實用教學。無論你是初學者還是有經驗的開發者,都能在這裡找到深入淺出的技術解析與實戰技巧。此外,我也會分享工作中的心路歷程與學習心得,讓你不僅學到技術,更能瞭解軟體開發的實際應用與挑戰。希望透過這個平台,能與你共同成長,激發對技術的熱情!
2025/04/28
當我們開發程式時,功能能正常運作固然重要,但在資料量變大或執行時間變長時,效能就成為不可忽視的一環。尤其在 Web 應用、資料分析或科學運算中,程式跑得快與否,直接影響使用者體驗與系統成本。
2025/04/28
當我們開發程式時,功能能正常運作固然重要,但在資料量變大或執行時間變長時,效能就成為不可忽視的一環。尤其在 Web 應用、資料分析或科學運算中,程式跑得快與否,直接影響使用者體驗與系統成本。
2025/04/22
嘿,大家好!上篇教學文章我們做出了一個待辦事項清單,已經有點小工具的感覺了吧?今天我們要再升級,來做個「簡單記事本」。這個專案不只可以寫東西,還能存檔、讀檔,甚至換字體大小,感覺就像自己寫了個迷你軟體!
2025/04/22
嘿,大家好!上篇教學文章我們做出了一個待辦事項清單,已經有點小工具的感覺了吧?今天我們要再升級,來做個「簡單記事本」。這個專案不只可以寫東西,還能存檔、讀檔,甚至換字體大小,感覺就像自己寫了個迷你軟體!
2025/04/16
嘿,大家好!走到這一步,我們已經玩過 Tkinter 的基本招式、佈局、事件處理,還搞了些進階元件,應該有點信心了吧?今天我們要把這些功夫練成一套連招,來做個實用的「待辦事項清單」(To-Do List),順便聊聊怎麼把程式寫得更漂亮、更好用。準備好了嗎?這就上場啦!
2025/04/16
嘿,大家好!走到這一步,我們已經玩過 Tkinter 的基本招式、佈局、事件處理,還搞了些進階元件,應該有點信心了吧?今天我們要把這些功夫練成一套連招,來做個實用的「待辦事項清單」(To-Do List),順便聊聊怎麼把程式寫得更漂亮、更好用。準備好了嗎?這就上場啦!
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本文詳細解說了 Python print() 函數的各種隱藏語法,包括 value、sep、end、file 和 flush。作者以清晰的範例和解說,讓從未接觸程式語言的人也能夠理解。而最後提到了訂閱房間的付費方式,並歡迎大家訂閱。文章內容較為詳細,提供了豐富的資訊。
Thumbnail
本文詳細解說了 Python print() 函數的各種隱藏語法,包括 value、sep、end、file 和 flush。作者以清晰的範例和解說,讓從未接觸程式語言的人也能夠理解。而最後提到了訂閱房間的付費方式,並歡迎大家訂閱。文章內容較為詳細,提供了豐富的資訊。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
本文將介紹如何從頭開始建立一個Django專案,包括安裝和設定,以及創建管理員帳戶和新的app。透過本文,你可以學習到建立自己的網頁的所有步驟和設定。
Thumbnail
本文將介紹如何從頭開始建立一個Django專案,包括安裝和設定,以及創建管理員帳戶和新的app。透過本文,你可以學習到建立自己的網頁的所有步驟和設定。
Thumbnail
當你想讓原本函式新增其他功能,又不想更動原本函式時,Python提供了一種強大而靈活的工具,那就是裝飾器。 但對於新手來說這個裝飾器,非常抽象難以理解,讓我們繼續往下看,慢慢的抽絲剝繭吧。 在 Python 中,使用「@」當做裝飾器使用的語法糖符號
Thumbnail
當你想讓原本函式新增其他功能,又不想更動原本函式時,Python提供了一種強大而靈活的工具,那就是裝飾器。 但對於新手來說這個裝飾器,非常抽象難以理解,讓我們繼續往下看,慢慢的抽絲剝繭吧。 在 Python 中,使用「@」當做裝飾器使用的語法糖符號
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News