在好例子网,分享、交流、成长!
您当前所在位置:首页 → Python 开发实例 → 常用Python方法 → 多格式单位换算工具:长度/重量/温度/面积/体积/速度等14类单位实时换算、收藏常用换算、一键复制结果

实例介绍

🖥️ 运行效果

🚀 实例简介

一款功能强大的多格式单位换算桌面工具,支持长度、重量、温度、面积、体积、速度、时间、数据存储、压力、能量、功率、角度、频率、燃料消耗共14类单位的实时换算。支持收藏常用换算、一键复制结果,纯Python实现无需额外依赖。

💻 核心代码


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
多格式单位换算工具
支持长度/重量/温度/面积/体积/速度/时间/数据存储/压力/能量/功率/角度/频率/燃料消耗共14类单位实时换算
"""

import tkinter as tk
from tkinter import ttk, messagebox
import platform

# 中文字体配置
CHINESE_FONT = "WenQuanYi Zen Hei" if platform.system() == "Linux" else "Microsoft YaHei"

# ============ 单位换算数据库 ============
# 每类单位:{单位名: 相对于基准单位的换算系数}
# 温度特殊处理(非线性换算)
UNIT_DB = {
    "长度": {
        "基准": "米",
        "米": 1.0, "千米": 1000.0, "厘米": 0.01, "毫米": 0.001,
        "微米": 1e-6, "纳米": 1e-9, "英里": 1609.344, "码": 0.9144,
        "英尺": 0.3048, "英寸": 0.0254, "海里": 1852.0, "光年": 9.461e15
    },
    "重量": {
        "基准": "千克",
        "千克": 1.0, "克": 0.001, "毫克": 1e-6, "吨": 1000.0,
        "磅": 0.453592, "盎司": 0.0283495, "斤": 0.5, "两": 0.05,
        "克拉": 0.0002
    },
    "面积": {
        "基准": "平方米",
        "平方米": 1.0, "平方千米": 1e6, "平方厘米": 1e-4, "平方毫米": 1e-6,
        "公顷": 1e4, "亩": 666.667, "英亩": 4046.86, "平方英里": 2.59e6,
        "平方英尺": 0.092903, "平方英寸": 6.4516e-4
    },
    "体积": {
        "基准": "升",
        "升": 1.0, "毫升": 0.001, "立方米": 1000.0, "立方厘米": 0.001,
        "加仑(美)": 3.78541, "加仑(英)": 4.54609, "品脱(美)": 0.473176,
        "盎司(液)": 0.0295735, "桶(石油)": 158.987
    },
    "速度": {
        "基准": "米/秒",
        "米/秒": 1.0, "千米/时": 0.277778, "英里/时": 0.44704,
        "节": 0.514444, "马赫": 340.29, "光速": 299792458.0,
        "英尺/秒": 0.3048
    },
    "时间": {
        "基准": "秒",
        "秒": 1.0, "毫秒": 0.001, "分钟": 60.0, "小时": 3600.0,
        "天": 86400.0, "周": 604800.0, "月(30天)": 2592000.0,
        "年(365天)": 31536000.0
    },
    "数据存储": {
        "基准": "字节",
        "字节(B)": 1.0, "KB": 1024.0, "MB": 1048576.0, "GB": 1073741824.0,
        "TB": 1.0995e12, "PB": 1.1259e15, "比特(bit)": 0.125
    },
    "压力": {
        "基准": "帕斯卡",
        "帕斯卡(Pa)": 1.0, "千帕(kPa)": 1000.0, "兆帕(MPa)": 1e6,
        "巴(bar)": 1e5, "标准大气压": 101325.0, "毫米汞柱": 133.322,
        "磅/平方英寸(PSI)": 6894.76
    },
    "能量": {
        "基准": "焦耳",
        "焦耳(J)": 1.0, "千焦(kJ)": 1000.0, "卡路里(cal)": 4.184,
        "千卡(kcal)": 4184.0, "瓦时(Wh)": 3600.0, "千瓦时(kWh)": 3.6e6,
        "电子伏(eV)": 1.602e-19
    },
    "功率": {
        "基准": "瓦特",
        "瓦特(W)": 1.0, "千瓦(kW)": 1000.0, "兆瓦(MW)": 1e6,
        "马力(公制)": 735.499, "马力(英制)": 745.7, " BTU/时": 0.293071
    },
    "角度": {
        "基准": "度",
        "度(°)": 1.0, "弧度(rad)": 57.2958, "分(')": 1/60.0,
        "秒(\")": 1/3600.0, "梯度(grad)": 0.9

💡 适用场景

办公自动化、数据分析、快速原型开发

标签:

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警