import tkinter as tk
from tkinter import ttk, messagebox

def c_to_f():
    """摄氏度转华氏度"""
    try:
        c = float(entry_c.get())
        f = c * 1.8 + 32
        entry_f.delete(0, tk.END)
        entry_f.insert(0, f"{f:.2f}")
    except ValueError:
        messagebox.showerror("输入错误", "请输入有效的数字！")

def f_to_c():
    """华氏度转摄氏度"""
    try:
        f = float(entry_f.get())
        c = (f - 32) / 1.8
        entry_c.delete(0, tk.END)
        entry_c.insert(0, f"{c:.2f}")
    except ValueError:
        messagebox.showerror("输入错误", "请输入有效的数字！")

def clear_all():
    """清空输入框"""
    entry_c.delete(0, tk.END)
    entry_f.delete(0, tk.END)

# 创建主窗口
root = tk.Tk()
root.title("温度单位转换器")
root.geometry("400x220")
root.resizable(False, False)

# 摄氏度区域
label_c = ttk.Label(root, text="摄氏度(℃)：", font=("微软雅黑", 12))
label_c.place(x=40, y=40)
entry_c = ttk.Entry(root, width=18, font=("微软雅黑", 12))
entry_c.place(x=160, y=40)

# 华氏度区域
label_f = ttk.Label(root, text="华氏度(℉)：", font=("微软雅黑", 12))
label_f.place(x=40, y=90)
entry_f = ttk.Entry(root, width=18, font=("微软雅黑", 12))
entry_f.place(x=160, y=90)

# 按钮
btn_c2f = ttk.Button(root, text="℃ → ℉", command=c_to_f)
btn_c2f.place(x=50, y=140, width=90)

btn_f2c = ttk.Button(root, text="℉ → ℃", command=f_to_c)
btn_f2c.place(x=160, y=140, width=90)

btn_clear = ttk.Button(root, text="清空", command=clear_all)
btn_clear.place(x=270, y=140, width=90)

# 主循环【必须放在最后一行】
root.mainloop()