import tkinter as tk
from tkinter import ttk

def c_to_f():
    """摄氏度转华氏度"""
    try:
        c = float(entry_c.get())
        f = c * 9 / 5 + 32
        label_f_res.config(text=f"{f:.2f} °F")
    except ValueError:
        label_f_res.config(text="输入无效")

def f_to_c():
    """华氏度转摄氏度"""
    try:
        f = float(entry_f.get())
        c = (f - 32) * 5 / 9
        label_c_res.config(text=f"{c:.2f} °C")
    except ValueError:
        label_c_res.config(text="输入无效")

# 主窗口配置
root = tk.Tk()
root.title("温度单位转换器")
root.geometry("400x200")  # 窗口大小
root.resizable(False, False)

# 标题
title_label = ttk.Label(root, text="摄氏度 ↔ 华氏度 转换", font=("微软雅黑", 14))
title_label.pack(pady=10)

# 第一行：摄氏度 → 华氏度
frame1 = ttk.Frame(root)
frame1.pack(pady=5)

ttk.Label(frame1, text="摄氏度(°C)：").grid(row=0, column=0, padx=5)
entry_c = ttk.Entry(frame1, width=15)
entry_c.grid(row=0, column=1, padx=5)

btn1 = ttk.Button(frame1, text="转换", command=c_to_f)
btn1.grid(row=0, column=2, padx=5)

label_f_res = ttk.Label(frame1, text="-- °F", width=10)
label_f_res.grid(row=0, column=3, padx=5)

# 第二行：华氏度 → 摄氏度
frame2 = ttk.Frame(root)
frame2.pack(pady=5)

ttk.Label(frame2, text="华氏度(°F)：").grid(row=0, column=0, padx=5)
entry_f = ttk.Entry(frame2, width=15)
entry_f.grid(row=0, column=1, padx=5)

btn2 = ttk.Button(frame2, text="转换", command=f_to_c)
btn2.grid(row=0, column=2, padx=5)

label_c_res = ttk.Label(frame2, text="-- °C", width=10)
label_c_res.grid(row=0, column=3, padx=5)

# 启动主循环
root.mainloop()