1. 創建應用程式主窗口
今天我們將踏上用 Tkinter 庫探索圖形用戶界面世界的激動人心的旅程。 在這堂課結束後,你的 PC 不再僅僅是一個金屬盒子,而是變成了真正的魔法師,它不僅能計算,還能愉快地將結果顯示給用戶看。準備好系好安全帶,我們開始構建第一個基本應用程式窗口!
讓我們從創建應用程式的主窗口開始。在 Tkinter 中,這非常簡單。我們將使用 Tk() 函數來創建一個主窗口的實例——這就像 GUI 世界中的傳統 "Hello, World!"。
import tkinter as tk
# 創建應用程式實例
root = tk.Tk()
# 設定窗口標題
root.title("我的第一個應用程式")
# 啟動主循環
root.mainloop()
這裡發生了什麼?
- 匯入 Tkinter: 首先匯入
tkinter庫。為了方便,我們將它匯入為tk(因為程序員就是愛簡寫)。 - 創建窗口: 我們創建了一個名為
root的對象,這是應用程式的主窗口。想像這個窗口是它的 "心臟",沒有它應用程式就無法運行。 - 窗口標題: 使用方法
title()設置我們窗口的標題,讓用戶知道這是什麼。在這個例子中,我們的標題是 "我的第一個應用程式"。 - 主循環 (
mainloop()): 這是啟動事件處理的核心。當循環運行時,我們的窗口會保持在螢幕上,等待用戶的互動。
逐步指南
-
創建主窗口: 每個界面都從創建主窗口開始。
root = tk.Tk() root.title("基本窗口")耶!你剛剛邀請了一個窗口進入你的生活。希望你有窗簾!
-
設置窗口參數: 給它一些個性化設置。
root.geometry("800x600") # 寬度 x 高度 root.iconbitmap('icon.ico') # 可以選擇自己的圖標文件 -
應用程式主循環: 確保窗口不會一閃而過,我們啟動主循環。
root.mainloop()
應用程式主循環
現在我們有了一個窗口,讓我們談談主循環 mainloop()。它像是你的派對上的隱形 DJ——當它在旋轉音樂,一切都井然有序。 主循環永遠保持警覺,確保應用程式運行並對用戶的行動做出反應, 如滑鼠點擊或鍵盤輸入。
如果沒有這個循環,你的應用程式只會顯示一個空窗口並直接結束。所以別忘了在每個 Tkinter 腳本的最後加上它!
2. 認識小工具
Tkinter 提供了許多小工具,每個都有它的特殊功能。讓我們來認識其中一些。
Tkinter 的主要小工具
- 窗口 (Window): 所有小工具的主要空間。
- 按鈕 (Button): 一個可以點擊的互動元素。
- 輸入框 (Entry): 用於輸入單行文字的文本框。
- 標籤 (Label): 用於顯示文本或圖像。
- 文本框 (Text): 用於多行文字的輸入和顯示。
小工具的使用範例
這裡是個簡單的範例,展示如何創建一個帶按鈕與標籤的簡單窗口:
import tkinter as tk
def say_hello():
label.config(text="你好,世界!")
root = tk.Tk()
root.title("我的第一個應用程式")
label = tk.Label(root, text="按下按鈕")
label.pack(pady=10)
button = tk.Button(root, text="點我", command=say_hello)
button.pack(pady=5)
root.mainloop()
運行此代碼後,你會看到一個帶有標籤和按鈕的窗口。按下按鈕——標籤會向世界打招呼!
3. 在窗口中添加小工具
現在我們已經有了一個簡單的窗口(是的,目前為止這是我們的傲人成果),讓我們為它添加一些小工具。小工具是用戶界面的元素,例如按鈕、標籤、輸入框等。我們從簡單的開始:創建一個按鈕和一個標籤。
# 匯入 tkinter 庫
import tkinter as tk
# 創建應用程式主窗口
root = tk.Tk()
root.title("我的第一個應用程式")
# 創建標籤並放置到窗口中
label = tk.Label(root, text="你好,用戶!歡迎來到我的第一個 GUI。")
label.pack() # 使用 pack 方法放置小工具
# 創建按鈕並放置到窗口中
button = tk.Button(root, text="點擊我!", command=lambda: print("按鈕被按下了!"))
button.pack()
# 啟動主循環
root.mainloop()
解釋
-
標籤 (Label): 我們用
Label()創建了一個帶有文本 "你好,用戶!歡迎來到我的第一個 GUI。" 的標籤。末尾的pack()方法是一個簡單的擺放小工具的方式。 -
按鈕 (Button): 按鈕的文本為 "點擊我!"。我們還傳遞了一個
command參數,用於指定按下按鈕時要執行的功能。在這裡,指定的命令是lambda: print("按鈕被按下了!"),所以按下後你會在控制台看到消息。
如此一來,我們不僅創建了一個基本的窗口,還使它變得互動!可以說,我們從單一窗口邁向了一個小型 "應用程式"。這只是個開始——前面還有很多精彩等著我們!
希望你喜歡這次關於 Tkinter 的初步旅程。記住,GUI 是向世界展示你程式設計才能的視覺方式。在下一堂課中,我們將學習如何添加按鈕和輸入框,準備迎接更加互動的界面吧!
GO TO FULL VERSION