这里写目录标题

  • 最终结果
  • 代码全部
  • 详细过程

最终结果

下拉选择合适的单位类型,输入数值和单位,自送转换计算,最终结果如下:

代码全部

import tkinter as tk
from tkinter import ttk'''选择类型,触发事件内容为后面单位为对应的单位'''
def choose_unit(envet):choose = box1.get()list=[]print(choose)if choose == '体积':list = ['立方厘米','立方米']elif choose == '长度':list = ['厘米', '分米', '米', '千米', '毫米']elif choose == '面积':list = ['平方厘米','平方米', '公顷']box2['value'] = listbox3['value'] = list'''选择单位后的触发事件,计算的结果出现在如下情况:选择了正确的单位,或者输入数字后回车'''
def convert(envet):global dataglobal data_outunit_class = box1.get()if unit_class == '体积':data_out.set(convert_V(data, box2.get(),box3.get()))elif unit_class =='长度':data_out.set(convert_L(data, box2.get(), box3.get()))elif unit_class =='面积':data_out.set(convert_S(data, box2.get(), box3.get()))label4.update()'''体积单位换算'''
def convert_V(n,unit1,unit2):c = [1, 0.000001]l = ['立方厘米', '立方米']if unit1 not in l or unit2 not in l:result = 0else:unit1_index = l.index(unit1)unit2_index = l.index(unit2)print(type(n))print(n.get())num=int(n.get())result = num/c[unit1_index]*c[unit2_index]return result
'''面积单位换算'''
def convert_S(n,unit1,unit2):c = [10000, 1, 0.0001]l = ['平方厘米', '平方米','公顷']if unit1 not in l or unit2 not in l:result = 0else:unit1_index = l.index(unit1)unit2_index = l.index(unit2)print(type(n))print(n.get())num = int(n.get())result = num / c[unit1_index] * c[unit2_index]return result
'''长度单位换算'''
def convert_L(n,unit1,unit2):c = [1000, 100, 10, 1, 0.001]l = ['毫米','厘米', '分米', '米', '千米' ]if unit1 not in l or unit2 not in l:result = 0else:unit1_index = l.index(unit1)unit2_index = l.index(unit2)print(type(n))print(n.get())num = int(n.get())result = num / c[unit1_index] * c[unit2_index]return resultroot = tk.Tk()
root.title("单位换算")
root.geometry('250x400')
'''页面布局'''
label1 = tk.Label(root, text='选择要转换的单位类型',)
label1.grid(row=0,column=0, sticky='nw')box1 = ttk.Combobox(root)
box1['value'] = ('体积', '长度', '面积')
box1.current(0)
box1.bind("<<ComboboxSelected>>", choose_unit)
box1.grid(row=1,column=0, sticky='nw',ipadx=35)label2 = tk.Label(root, text='输入',justify='left')
label2.grid(row=2,column=0, sticky='nw')data = tk.StringVar()
entry1 = tk.Entry(root, textvariable=data)
entry1.insert(6,'输入值')
entry1.bind('<Return>',convert)
entry1.grid(row=3,column=0, sticky='nw',ipadx=35)box2 = ttk.Combobox(root)
box2.bind("<<ComboboxSelected>>", convert)
box2.grid(row=4,column=0, sticky='nw',ipadx=35)label3 = tk.Label(root, text='等于')
label3.grid(row=5,column=0, sticky='nw')data_out = tk.StringVar()
data_out.set('0')
label4 = tk.Label(root,textvariable=data_out)
label4.grid(row=6,column=0, sticky='nw')box3 = ttk.Combobox(root)
box3.bind("<<ComboboxSelected>>", convert)
box3.grid(row=7,column=0, sticky='nw', ipadx=35)root.mainloop()

详细过程

见下一篇:https://blog.csdn.net/u010234441/article/details/112347013

python tkinter:单位换算小工具完整代码相关推荐

  1. Python Tkinter窗口化Ping小工具 (Windows/Liux)

    Python 3.5的一个窗口化小工具,定时ping列表中的服务器. 程序启动配置的两种方式 预定义:下方代码去掉iplist.update的注释即可. 格式为iplist.update({" ...

  2. Python: tkinter实例改名小工具

    1 #!/usr/bin/env python 2 #coding=utf-8 3 # 4 # 版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126) 5 ...

  3. python英语翻译-python制作英语翻译小工具代码实例

    这篇文章主要介绍了python制作英语翻译小工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用python爬虫可以制作英语翻译小工具.来 ...

  4. python点名代码_基于python tkinter的点名小程序功能的实例代码

    基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...

  5. python tkinter计算器实例_Python编程使用tkinter模块实现计算器软件完整代码示例

    Python 提供了多个图形开发界面的库.Tkinter就是其中之一. Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数 ...

  6. python写科学计算器代码_Python编程使用tkinter模块实现计算器软件完整代码示例...

    Python编程使用tkinter模块实现计算器软件完整代码示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python编程使用tkinter模块实现计算器软件完整代码示例 ...

  7. 【kimol君的无聊小发明】—用python写截屏小工具

    [kimol君的无聊小发明]-用python写截屏小工具 前言 一.技术实现 1. 相关库 2. 定义窗口 3. 绘制工具条 4. 定义事件函数 二.后续改进 写在最后 前言 今天我看了一下自己的文件 ...

  8. python剪刀石头布程序_使用Python Tkinter实现剪刀石头布小游戏功能

    编写剪刀石头布游戏 让我们使用Python 3和Tkinter开发相同的游戏.我们可以将游戏命名为Rock-Paper-Scissors-Lizard-Spock. 规则和玩法 ock crushes ...

  9. python实现剪刀石头布_用Python Tkinter实现剪刀石头布小游戏的方法

    用Python Tkinter实现剪刀石头布小游戏的方法 发布时间:2020-12-07 10:38:11 来源:亿速云 阅读:90 作者:小新 这篇文章将为大家详细讲解有关用Python Tkint ...

  10. Python——【自制搜索小工具】

    哈喽,大家好丫,你们的小郭子又来啦 ~ 当自己电脑文件很多还有点乱,用电脑自带的搜索文件,效率有点低,憋担心,我们用Python自制一个搜索小工具就行了,嘻嘻嘻嘻 环境准备 解释器: Python 3 ...

最新文章

  1. ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.
  2. mysql io 100_MySQL服务器 IO 100%的分析与优化方案
  3. 打开页面默认弹出软键盘,同时兼容iOS和Android
  4. C语言除法浮点型和整形,浅谈C语言整型与浮点型转换
  5. Upload LABS Pass-2
  6. 解决nginx部署后css、js、图片等样式不加载的问题
  7. 美通企业日报 | 易车收到腾讯等私有化要约;沃尔玛中国推出快时尚品牌George...
  8. STM32+二维码扫描模块(QR_Scaner)实现门禁系统
  9. 我的VSTO之路(二):VSTO程序基本知识
  10. WindowsXP桌面图标蓝底怎么消除并恢复原始状态
  11. sql之分组TOPN
  12. 关于计算机论文摘要和引言,论文摘要和背景的区别_论文前言与摘要的区别_引言和摘要有什么区别...
  13. 算法面试中:时间复杂度和空间复杂度是什么?
  14. VisionMobile:移动平台生态系统冲突报告(十二)Chapter C:iOS
  15. 开口式霍尔电流传感器AHKC在直流配电改造的应用
  16. Zynq芯片开发流程
  17. 为什么游戏模型不如原画好看?
  18. 深入了解style标签元素
  19. 股票买卖接口源码分享
  20. 用于Chrome的前端开发插件

热门文章

  1. m3u8在线播放工具 以及 开源播放方案
  2. 教你怎么买美区苹果id
  3. 城市综合杆道路智慧路灯多杆合一项目解决方案解析
  4. 微信修改运动步数卡密源码 每日自助修改
  5. 解决 tesserocr 无法安装问题!
  6. Linux安装vim不成功(没有可用的软件包)解决方法
  7. casue usb kb 找不到驱动程序_手把手教你安装喷墨打印机驱动程序
  8. arcgis 只能查看指定行政区域_[教程】Arcgis进阶:统计分析
  9. Android MTK Metadata Configuration
  10. python pandas 安装time out