CodeGym /Adesua ahorow /Python SELF TW /按鈕和輸入欄位

按鈕和輸入欄位

Python SELF TW
等級 49 , 課堂 2
開放

1. 在 Tkinter 中創建按鈕

為什麼需要這個?

想像一下,你正在創建一個計算機。如果無法輸入數據並按下等於鍵,那誰會用它呢?又或者你正在開發一個數據輸入表單。那麼,輸入欄位和按鈕也是非常重要的。

按鈕和輸入欄位讓用戶能直接影響程式的行為和功能。就像一根魔法棒,可以讓靜態的視窗變成活躍的工具。

Tkinter 中的按鈕長什麼樣?

Tkinter 庫裡提供了一個 Button 小工具用於創建按鈕。這個小工具相當靈活,可以設定按鈕的文字、顏色,以及點擊按鈕時執行的操作。

以下是範例代碼:

import tkinter as tk

# 創建主視窗
root = tk.Tk()
root.title("我的應用程式")

# 創建按鈕並將其添加到視窗
button = tk.Button(root, text="按我!", command=lambda: print("按鈕被按下了!"))
button.pack()

# 啟動主循環
root.mainloop()

注意 command 參數:它允許將某個操作綁定到按鈕。在這裡,按下按鈕時,控制台會顯示消息 "按鈕被按下了!"。

美化按鈕

你肯定希望按鈕不僅功能正常,還要看起來好看一點。讓我們加點創意:

button = tk.Button(root, text="按我!", command=lambda: print("按鈕被按下了!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bgfg — 分別用於設置背景和文字的顏色。
  • font — 設置字體及其大小。
  • pady — 垂直方向的邊距,讓按鈕看起來更呼吸一點。

2. Tkinter 中的輸入欄位

接下來是文字輸入欄位。這是一個小型的文字窗口,用戶可以在其中輸入他們的需求(不只是需求哦)。

簡單的文字輸入

使用 Entry 小工具來創建一個輸入欄位簡單得不能再簡單了:

entry = tk.Entry(root)
entry.pack()

但是,如果你無法獲取輸入的數據,那這個欄位有什麼用呢?讓我們來學學怎麼提取用戶輸入!

def get_input():
    user_input = entry.get()
    print(f"用戶輸入了: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="獲取輸入", command=get_input)
button.pack()

棒吧,現在我們有了一個按鈕,它可以將輸入欄位中的內容打印到屏幕上。

美化輸入欄位

像按鈕一樣,輸入欄位也可以進行樣式設定:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

在這裡,我們設定了字體、文本顏色和背景顏色。padxpady 添加了水平和垂直的邊距。

3. 實際應用

讓我們將所有東西組合起來,創建一個應用程式,讓用戶可以輸入數據並按下按鈕來處理輸入的資訊。我們將製作一個小型計算器,能將輸入的數字相加。

import tkinter as tk

def calculate():
    try:
        # 提取欄位的值
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # 計算總和
        result = number1 + number2
        
        # 更新結果文字
        result_label.config(text=f"結果: {result}")
    except ValueError:
        result_label.config(text="請輸入正確的數字!")

# 創建主視窗
root = tk.Tk()
root.title("簡易計算器")

# 數字輸入欄位
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# 計算按鈕
calculate_button = tk.Button(root, text="相加", command=calculate)
calculate_button.pack(pady=10)

# 用於顯示結果的標籤
result_label = tk.Label(root, text="結果: ")
result_label.pack()

# 啟動主循環
root.mainloop()

就這麼簡單,我們創建了一個小巧自豪的計算器應用程式,用戶可以輸入數據並看到結果。

調試小工具

在使用按鈕和輸入欄位時,你可能會遇到一些常見的錯誤。例如,處理按鈕的操作未觸發。原因通常是缺少 command 參數或 lambda 函數寫法有誤。

也會有一些與數據輸入相關的錯誤。因此,不要忘記檢查和處理用戶的輸入,就像我們在計算器中那樣,確保一切順利。

今天就到這裡啦!現在你已經知道如何在你的應用程式中添加按鈕和輸入欄位,讓和用戶的互動更有趣和便利。下一步,我們會聊聊按鈕事件的處理,敬請期待下一堂課吧!

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION