2025年3月10日 星期一

Combobox 下拉選單





import tkinter as tk

from tkinter import ttk


# 字首、字根、字尾選項

prefixes = ["pre", "un", "re", "dis"]

roots = ["dict", "form", "struct", "spect"]

suffixes = ["ion", "able", "ive", "ment"]


# 建立主視窗

root = tk.Tk()

root.title("字根組合器")

root.geometry("400x250")


# 設定標籤

tk.Label(root, text="選擇字首:").grid(row=0, column=0, padx=10, pady=10)

tk.Label(root, text="選擇字根:").grid(row=1, column=0, padx=10, pady=10)

tk.Label(root, text="選擇字尾:").grid(row=2, column=0, padx=10, pady=10)

tk.Label(root, text="組合的單字:").grid(row=4, column=0, padx=10, pady=10)


# 建立 Combobox 下拉選單

prefix_var = tk.StringVar()

prefix_combobox = ttk.Combobox(root, textvariable=prefix_var, values=prefixes, state="readonly")

prefix_combobox.grid(row=0, column=1, padx=10, pady=10)


root_var = tk.StringVar()

root_combobox = ttk.Combobox(root, textvariable=root_var, values=roots, state="readonly")

root_combobox.grid(row=1, column=1, padx=10, pady=10)


suffix_var = tk.StringVar()

suffix_combobox = ttk.Combobox(root, textvariable=suffix_var, values=suffixes, state="readonly")

suffix_combobox.grid(row=2, column=1, padx=10, pady=10)


# 顯示組合後的單字

word_label = tk.Label(root, text="", font=("Arial", 14, "bold"), fg="blue")

word_label.grid(row=4, column=1, padx=10, pady=10)


# 更新單字的函式

def update_word():

    prefix = prefix_var.get()

    root_word = root_var.get()

    suffix = suffix_var.get()

    combined_word = f"{prefix}{root_word}{suffix}"

    word_label.config(text=combined_word)


# 設定按鈕,點擊後更新顯示

combine_button = tk.Button(root, text="組合單字", command=update_word)

combine_button.grid(row=3, column=1, padx=10, pady=10)


# 啟動主循環

root.mainloop()

沒有留言:

張貼留言