import tkinter as tk
from tkinter import ttk

# 转换函数：摄氏度转华氏度
def c_to_f(c):
    return c * 9 / 5 + 32

# 转换函数：华氏度转摄氏度
def f_to_c(f):
    return (f - 32) * 5 / 9

# 触发转换
def convert_temp():
    try:
        val = float(entry_temp.get())
        if from_var.get() == "摄氏度":
            res = c_to_f(val)
            result_label.config(text=f"转换结果：{res:.2f} °F")
        else:
            res = f_to_c(val)
            result_label.config(text=f"转换结果：{res:.2f} °C")
    except ValueError:
        result_label.config(text="请输入合法数字！")

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

# 标题
ttk.Label(root, text="🌡️ 温度转换器", font=("微软雅黑", 20, "bold")).pack(pady=15)

# 输入框
frame1 = ttk.Frame(root)
frame1.pack(pady=5)
ttk.Label(frame1, text="输入温度：", font=("微软雅黑", 12)).grid(row=0, column=0, padx=5)
entry_temp = ttk.Entry(frame1, width=18, font=("微软雅黑", 12))
entry_temp.grid(row=0, column=1)

# 单位选择
frame2 = ttk.Frame(root)
frame2.pack(pady=10)

from_var = tk.StringVar(value="摄氏度")
ttk.Radiobutton(frame2, text="摄氏度(°C)", variable=from_var, value="摄氏度").grid(row=0, column=0, padx=15)
ttk.Radiobutton(frame2, text="华氏度(°F)", variable=from_var, value="华氏度").grid(row=0, column=1, padx=15)

# 转换按钮
ttk.Button(root, text="开始转换", command=convert_temp).pack(pady=8)

# 结果显示  修复：把 fg 改成 foreground
result_label = ttk.Label(root, text="转换结果：", font=("微软雅黑", 14), foreground="#0066cc")
result_label.pack()

root.mainloop()